/** Open an appropriate directory browser */ private void handleLocationBrowseButtonPressed() { DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell(), SWT.SHEET); dialog.setMessage(DataTransferMessages.WizardExternalProjectImportPage_directoryLabel); String dirName = getProjectLocationFieldValue(); if (dirName.length() == 0) { dirName = previouslyBrowsedDirectory; } if (dirName.length() == 0) { dialog.setFilterPath(getWorkspace().getRoot().getLocation().toOSString()); } else { File path = new File(dirName); if (path.exists()) { dialog.setFilterPath(new Path(dirName).toOSString()); } } String selectedDirectory = dialog.open(); if (selectedDirectory != null) { previouslyBrowsedDirectory = selectedDirectory; locationPathField.setText(previouslyBrowsedDirectory); setProjectName(projectFile(previouslyBrowsedDirectory)); } }
private File getFile() { FileDialog fileDialog = new FileDialog(textArea.getShell(), SWT.SAVE); String path = fileDialog.open(); if (path == null || path.length() < 1) { return null; } return new File(path); }
public void keyPressed(KeyEvent e) { Text portsText = (Text) e.getSource(); if (e.keyCode == SWT.TAB) { portsText.getShell().traverse(SWT.TRAVERSE_TAB_NEXT); e.doit = false; return; } else if (e.keyCode == SWT.CR) { if ((e.stateMask & SWT.MOD1) > 0) { // allow ctrl+enter to insert newlines e.stateMask = 0; } else { // single-enter will traverse portsText.getShell().traverse(SWT.TRAVERSE_RETURN); e.doit = false; return; } } else if (Character.isISOControl(e.character)) { return; } e.doit = validateChar(e.character, portsText.getText(), portsText.getCaretPosition()); }
private void selectBuff() { ChooseDataObjectDialog dlg = new ChooseDataObjectDialog(textID.getShell(), BuffConfig.class, "选择Buff"); if (dlg.open() == Dialog.OK) { if (dlg.getSelectedDataObject() != null) { BuffConfig buff = (BuffConfig) dlg.getSelectedDataObject(); List<String> levelNames = new ArrayList<String>(); for (int i = 1; i <= buff.maxLevel; i++) { levelNames.add(i + "级"); } GenericChooseDialog dlg2 = new GenericChooseDialog(textID.getShell(), "选择Buff等级", levelNames); if (dlg2.open() == Dialog.OK) { String levelName = (String) dlg2.getSelection(); int level = Integer.parseInt(levelName.substring(0, levelName.length() - 1)); setBuff(buff.id, level); } else { setBuff(-1, 1); } } else { setBuff(-1, 1); } } }
/** Opens a path variable selection dialog */ private void handleVariablesButtonPressed() { int variableTypes = IResource.FOLDER; // allow selecting file and folder variables when creating a // linked file if (type == IResource.FILE) { variableTypes |= IResource.FILE; } PathVariableSelectionDialog dialog = new PathVariableSelectionDialog(linkTargetField.getShell(), variableTypes); if (dialog.open() == IDialogConstants.OK_ID) { String[] variableNames = (String[]) dialog.getResult(); if ((variableNames != null) && (variableNames.length == 1)) { linkTargetField.setText(variableNames[0]); } } }
/** Opens a file or directory browser depending on the link type. */ private void handleLinkTargetBrowseButtonPressed() { IFileStore store = null; String selection = null; FileSystemConfiguration config = getSelectedConfiguration(); @SuppressWarnings("unused") boolean isDefault = (config == null) || (FileSystemSupportRegistry.getInstance().getDefaultConfiguration()).equals(config); if (linkTarget.length() > 0) { store = IDEResourceInfoUtils.getFileStore(linkTarget); if (!store.fetchInfo().exists()) { store = null; } } if (type == IResource.FILE) { // if (isDefault) { // FileDialog dialog = new FileDialog(linkTargetField.getShell()); // dialog.setText(IDEWorkbenchMessages.CreateLinkedResourceGroup_targetSelectionTitle); // if (store != null) { // if (store.fetchInfo().isDirectory()) { // dialog.setFilterPath(linkTarget); // } else { // dialog.setFileName(linkTarget); // } // } // selection = dialog.open(); // } else { @SuppressWarnings("null") URI uri = config.getContributor().browseFileSystem(linkTarget, linkTargetField.getShell()); if (uri != null) { selection = uri.toString(); // } } } else { String filterPath = null; if (store != null) { IFileStore path = store; if (!store.fetchInfo().isDirectory()) { path = store.getParent(); } if (path != null) { filterPath = store.toString(); } } // if (isDefault) { // DirectoryDialog dialog = new DirectoryDialog(linkTargetField // .getShell()); // dialog // .setMessage(IDEWorkbenchMessages.CreateLinkedResourceGroup_targetSelectionLabel); // if (filterPath != null) // dialog.setFilterPath(filterPath); // selection = dialog.open(); // } else { String initialPath = IDEResourceInfoUtils.EMPTY_STRING; if (filterPath != null) { initialPath = filterPath; } if (config != null) { URI uri = config.getContributor().browseFileSystem(initialPath, linkTargetField.getShell()); if (uri != null) { selection = uri.toString(); } } // } } if (selection != null) { linkTargetField.setText(selection); } }
/* * Return whether the popup has focus. */ boolean hasFocus() { if (text == null || text.isDisposed()) { return false; } return text.getShell().isFocusControl() || text.isFocusControl(); }