public OutputStream getOutputStream(Shell shell) { FileDialog dialog = new FileDialog(shell, SWT.SAVE); String filterPath; String relativeFileName; int lastIndexOfFileSeparator = defaultFileName.lastIndexOf(File.separator); if (lastIndexOfFileSeparator >= 0) { filterPath = defaultFileName.substring(0, lastIndexOfFileSeparator); relativeFileName = defaultFileName.substring(lastIndexOfFileSeparator + 1); } else { filterPath = "/"; // $NON-NLS-1$ relativeFileName = defaultFileName; } dialog.setFilterPath(filterPath); dialog.setOverwrite(true); dialog.setFileName(relativeFileName); dialog.setFilterNames(defaultFilterNames); dialog.setFilterExtensions(defaultFilterExtensions); String fileName = dialog.open(); if (fileName == null) { return null; } try { return new PrintStream(fileName); } catch (FileNotFoundException e) { e.printStackTrace(); return null; } }
public void get() { try { // As the user for a file to use as a reference // FileDialog dialog = new FileDialog(shell, SWT.OPEN); dialog.setFilterExtensions(new String[] {"*.sas7bdat;*.SAS7BDAT", "*.*"}); dialog.setFilterNames( new String[] { BaseMessages.getString(PKG, "SASInputDialog.FileType.SAS7BAT") + ", " + BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "System.FileType.CSVFiles"), BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "System.FileType.AllFiles") }); if (dialog.open() != null) { String filename = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName(); SasInputHelper helper = new SasInputHelper(filename); BaseStepDialog.getFieldsFromPrevious( helper.getRowMeta(), wFields, 1, new int[] {1}, new int[] {3}, 4, 5, null); } } catch (Exception e) { new ErrorDialog(shell, "Error", "Error reading information from file", e); } }
public void run(IAction action) { FileDialog fileDialog = new FileDialog(Display.getDefault().getActiveShell(), SWT.SAVE); fileDialog.setFilterPath(fileDirectory); fileDialog.setFilterNames(filterName); fileDialog.setFilterExtensions(filterExtension); if (action.isChecked()) { String filename = fileDialog.open(); // check if file Exists. Gaelle 16/03/2009 if (filename != null && recordInThisFile(filename)) { FableJep.record(true); try { FableJep.getFableJep().setScriptFileName(filename); } catch (Throwable e) { e.printStackTrace(); } // action.setText("Stop Recording Script"); action.setToolTipText("Stop recording python actions."); } else { action.setChecked(false); FableJep.record(false); // action.setText("Record Script"); action.setToolTipText("Record python actions in a script."); } } else { FableJep.record(false); // action.setText("Record Script"); action.setToolTipText("Record python actions in a script."); } }
private boolean saveAs() { FileDialog saveDialog = new FileDialog(shell, SWT.SAVE); saveDialog.setFilterExtensions(new String[] {"*.adr;", "*.*"}); saveDialog.setFilterNames(new String[] {"Address Books (*.adr)", "All Files "}); saveDialog.open(); String name = saveDialog.getFileName(); if (name.equals("")) return false; if (name.indexOf(".adr") != name.length() - 4) { name += ".adr"; } File file = new File(saveDialog.getFilterPath(), name); if (file.exists()) { MessageBox box = new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO); box.setText(resAddressBook.getString("Save_as_title")); box.setMessage( resAddressBook.getString("File") + file.getName() + " " + resAddressBook.getString("Query_overwrite")); if (box.open() != SWT.YES) { return false; } } this.file = file; return save(); }
/** Export the selected values from the table to a csv file */ private void export() { FileDialog dialog = new FileDialog(shell, SWT.SAVE); String[] filterNames = new String[] {"CSV Files", "All Files (*)"}; String[] filterExtensions = new String[] {"*.csv;", "*"}; String filterPath = "/"; String platform = SWT.getPlatform(); if (platform.equals("win32") || platform.equals("wpf")) { filterNames = new String[] {"CSV Files", "All Files (*.*)"}; filterExtensions = new String[] {"*.csv", "*.*"}; filterPath = "c:\\"; } dialog.setFilterNames(filterNames); dialog.setFilterExtensions(filterExtensions); dialog.setFilterPath(filterPath); try { dialog.setFileName(this.getCurrentKey() + ".csv"); } catch (Exception e) { dialog.setFileName("export.csv"); } String fileName = dialog.open(); FileOutputStream fos; OutputStreamWriter out; try { fos = new FileOutputStream(fileName); out = new OutputStreamWriter(fos, "UTF-8"); } catch (Exception e) { MessageBox messageBox = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); messageBox.setMessage("Error creating export file " + fileName + " : " + e.getMessage()); messageBox.open(); return; } Vector<TableItem> sel = new Vector<TableItem>(this.dataTable.getSelection().length); sel.addAll(Arrays.asList(this.dataTable.getSelection())); Collections.reverse(sel); for (TableItem item : sel) { String date = item.getText(0); String value = item.getText(1); try { out.write(date + ";" + value + "\n"); } catch (IOException e) { continue; } } try { out.close(); fos.close(); } catch (IOException e) { MessageBox messageBox = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); messageBox.setMessage("Error writing export file " + fileName + " : " + e.getMessage()); messageBox.open(); e.printStackTrace(); } }
public void addManifestation() { final FileDialog fileDialog = new FileDialog(getSite().getShell(), SWT.OPEN); fileDialog.setFilterExtensions(new String[] {"*.xml;*.raid", "*.raid"}); fileDialog.setFilterNames( new String[] {"Fichiers chronosRAID (*.xml,*.raid)", "Projet ChronosRAID (*.raid)"}); final String fileName = fileDialog.open(); if (fileName != null) { ProjectManager.openProject(fileName); } }
private void openAddressBook() { FileDialog fileDialog = new FileDialog(shell, SWT.OPEN); fileDialog.setFilterExtensions(new String[] {"*.messages;", "*.*"}); fileDialog.setFilterNames( new String[] { resMessages.getString("Book_filter_name") + " (*.messages)", resMessages.getString("All_filter_name") + " (*.*)" }); String name = fileDialog.open(); openAddressBook(name); }
private void selectFile() { FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN); fileDialog.setText("Select JSHint library file"); File file = new File(preferences.getCustomLibPath()); fileDialog.setFileName(file.getName()); fileDialog.setFilterPath(file.getParent()); fileDialog.setFilterNames(new String[] {"JavaScript files"}); fileDialog.setFilterExtensions(new String[] {"*.js", ""}); String selectedPath = fileDialog.open(); if (selectedPath != null) { customLibPathText.setText(selectedPath); } }
/** Open a resource chooser to select a PDA program */ protected void browseLispExeFiles() { FileDialog fd = new FileDialog(getShell()); fd.setFileName(fProgramText.getText()); if (exename != null && exename != "") { fd.setFilterNames(new String[] {exename}); } else if (System.getProperty("os.name").toLowerCase().contains("windows")) { fd.setFilterExtensions(new String[] {"*.exe"}); } String fileName = fd.open(); if (fileName != null) { fProgramText.setText(fileName); } }
@Override public void run() { final FileDialog fileChooser = new FileDialog(imageCanvas.getShell(), SWT.SAVE); fileChooser.setText("Save .dot file"); fileChooser.setFilterPath(""); fileChooser.setFilterExtensions(new String[] {"*.dot"}); fileChooser.setFilterNames(new String[] {"Graphviz file " + " (dot)"}); final String filename = fileChooser.open(); if (filename != null) { try { FileUtils.copyFile(dotFile, new File(filename)); } catch (final IOException e) { MessageDialog.openError(imageCanvas.getShell(), "Saving error", e.getMessage()); } } }
private String browse(final String path) { final FileDialog dialog = new FileDialog(getShell(), SWT.SAVE); dialog.setFilterExtensions(m_filenameExtensions); dialog.setFilterNames(m_fileTypes); if (path != "") // $NON-NLS-1$ dialog.setFileName(path); final String fileName = dialog.open(); if (fileName == null) return ""; // $NON-NLS-1$ final String[] filterExtensions = dialog.getFilterExtensions(); boolean regularExtension = false; for (final String filterExtension : filterExtensions) if (fileName.endsWith(filterExtension.substring(1))) { regularExtension = true; break; } if (!regularExtension && filterExtensions.length == 1) return fileName + filterExtensions[0].substring(1); return fileName; }
private void handleCellData(final Object cellData) { if (cellData instanceof SqlJetMemoryPointer) { // save as file final Shell shell = new Shell(Display.getDefault()); final FileDialog dialog = new FileDialog(shell, SWT.SAVE); dialog.setFilterNames(new String[] {"All Files (*.*)"}); dialog.setFilterExtensions(new String[] {"*.*"}); // Windows dialog.setFilterPath(System.getProperty("user.home")); final String fileName = dialog.open(); if (fileName != null) { final SqlJetMemoryPointer p = (SqlJetMemoryPointer) cellData; final int count = p.remaining(); RandomAccessFile file = null; try { file = new RandomAccessFile(fileName, "rw"); p.writeToFile(file, 0, count); file.close(); } catch (final IOException e) { e.printStackTrace(); } finally { if (file != null) { try { file.close(); } catch (final IOException e) { } } } } } else if (cellData != null) { // copy clipboard final Clipboard cb = new Clipboard(Display.getDefault()); final TextTransfer textTransfer = TextTransfer.getInstance(); cb.setContents(new Object[] {cellData.toString()}, new Transfer[] {textTransfer}); } }
private String getFilePathByFileDialog(String modelElementName) { FileDialog dialog = new FileDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.SAVE); dialog.setFilterNames(FILTER_NAMES); dialog.setFilterExtensions(FILTER_EXTS); String initialPath = PreferenceHelper.getPreference(EXPORT_MODEL_PATH, System.getProperty("user.home")); dialog.setFilterPath(initialPath); dialog.setOverwrite(true); try { // String initialFileName = projectSpace.getProjectName() + "@" // + projectSpace.getBaseVersion().getIdentifier() + ".ucp"; String initialFileName = "ModelElement_" + modelElementName + "." + FILE_EXTENSION; dialog.setFileName(initialFileName); } catch (NullPointerException e) { // do nothing } String filePath = dialog.open(); return filePath; }
/** * Importiert die Daten. * * @throws ApplicationException */ private void doImport() throws ApplicationException { Imp imp = null; try { imp = (Imp) getImporterList().getValue(); } catch (Exception e) { Logger.error("error while saving import file", e); throw new ApplicationException(i18n.tr("Fehler beim Starten des Imports"), e); } if (imp == null || imp.importer == null) throw new ApplicationException(i18n.tr("Bitte wählen Sie ein Import-Format aus")); Settings settings = new Settings(this.getClass()); settings.setStoreWhenRead(true); FileDialog fd = new FileDialog(GUI.getShell(), SWT.OPEN); fd.setText( i18n.tr("Bitte wählen Sie die Datei aus, welche für den Import verwendet werden soll.")); fd.setFilterNames(imp.format.getFileExtensions()); String path = settings.getString("lastdir", System.getProperty("user.home")); if (path != null && path.length() > 0) fd.setFilterPath(path); final String s = fd.open(); if (s == null || s.length() == 0) { close(); return; } final File file = new File(s); if (!file.exists() || !file.isFile()) throw new ApplicationException(i18n.tr("Datei existiert nicht oder ist nicht lesbar")); // Wir merken uns noch das Verzeichnis vom letzten mal settings.setAttribute("lastdir", file.getParent()); // Dialog schliessen close(); final Importer importer = imp.importer; final IOFormat format = imp.format; BackgroundTask t = new BackgroundTask() { public void run(ProgressMonitor monitor) throws ApplicationException { try { InputStream is = new BufferedInputStream(new FileInputStream(file)); importer.doImport(context, format, is, monitor); monitor.setPercentComplete(100); monitor.setStatus(ProgressMonitor.STATUS_DONE); GUI.getStatusBar().setSuccessText(i18n.tr("Daten importiert aus {0}", s)); GUI.getCurrentView().reload(); } catch (ApplicationException ae) { monitor.setStatus(ProgressMonitor.STATUS_ERROR); monitor.setStatusText(ae.getMessage()); GUI.getStatusBar().setErrorText(ae.getMessage()); throw ae; } catch (Exception e) { monitor.setStatus(ProgressMonitor.STATUS_ERROR); Logger.error("error while reading objects from " + s, e); ApplicationException ae = new ApplicationException( i18n.tr("Fehler beim Importieren der Daten aus {0}", s), e); monitor.setStatusText(ae.getMessage()); GUI.getStatusBar().setErrorText(ae.getMessage()); throw ae; } } public void interrupt() {} public boolean isInterrupted() { return false; } }; Application.getController().start(t); }
protected void pickFileVFS() { FileDialog dialog = new FileDialog(shell, SWT.OPEN); dialog.setFilterExtensions(Const.STRING_TRANS_FILTER_EXT); dialog.setFilterNames(Const.getTransformationFilterNames()); String prevName = jobMeta.environmentSubstitute(wPath.getText()); String parentFolder = null; try { parentFolder = KettleVFS.getFilename( KettleVFS.getFileObject(jobMeta.environmentSubstitute(jobMeta.getFilename())) .getParent()); } catch (Exception e) { // not that important } if (!Utils.isEmpty(prevName)) { try { if (KettleVFS.fileExists(prevName)) { dialog.setFilterPath( KettleVFS.getFilename(KettleVFS.getFileObject(prevName).getParent())); } else { if (!prevName.endsWith(".ktr")) { prevName = getEntryName(Const.trim(wPath.getText()) + ".ktr"); } if (KettleVFS.fileExists(prevName)) { specificationMethod = ObjectLocationSpecificationMethod.FILENAME; wPath.setText(prevName); return; } else { // File specified doesn't exist. Ask if we should create the file... // MessageBox mb = new MessageBox(shell, SWT.YES | SWT.NO | SWT.ICON_QUESTION); mb.setMessage( BaseMessages.getString( PKG, "JobTrans.Dialog.CreateTransformationQuestion.Message")); mb.setText( BaseMessages.getString( PKG, "JobTrans.Dialog.CreateTransformationQuestion.Title")); // Sorry! int answer = mb.open(); if (answer == SWT.YES) { Spoon spoon = Spoon.getInstance(); spoon.newTransFile(); TransMeta transMeta = spoon.getActiveTransformation(); transMeta.initializeVariablesFrom(jobEntry); transMeta.setFilename(jobMeta.environmentSubstitute(prevName)); wPath.setText(prevName); specificationMethod = ObjectLocationSpecificationMethod.FILENAME; spoon.saveFile(); return; } } } } catch (Exception e) { dialog.setFilterPath(parentFolder); } } else if (!Utils.isEmpty(parentFolder)) { dialog.setFilterPath(parentFolder); } String fname = dialog.open(); if (fname != null) { File file = new File(fname); String name = file.getName(); String parentFolderSelection = file.getParentFile().toString(); if (!Utils.isEmpty(parentFolder) && parentFolder.equals(parentFolderSelection)) { wPath.setText(getEntryName(name)); } else { wPath.setText(fname); } } }
@Override public void run() { // Get the last-used directory for polygon region models from the preferences. final String directory = _preferencesStore.get(_preferencesString, Utilities.getWorkingDirectory()); // Create the file selection dialog. Shell shell = new Shell(Display.getCurrent()); FileDialog dialog = new FileDialog(shell, SWT.OPEN); dialog.setFilterPath(directory); dialog.setFilterNames( new String[] { "ABAVO Polygon Model (*." + PolygonRegionsModel.FILE_EXTENSION + ")", "Old ABAVO Polygon Model (*." + PolygonRegionsModel.FILE_EXTENSION_OLD + ")" }); dialog.setFilterExtensions( new String[] { "*." + PolygonRegionsModel.FILE_EXTENSION, "*." + PolygonRegionsModel.FILE_EXTENSION_OLD }); dialog.setText("Load Polygon Model"); shell.setLocation(_parent.getLocation()); // Open the file selection dialog and get the result. String result = dialog.open(); if (result != null && result.length() > 0) { File file = new File(result); // Check the file extension. boolean validFile = file.getAbsolutePath().endsWith("." + PolygonRegionsModel.FILE_EXTENSION); boolean validFileOld = file.getAbsolutePath().endsWith("." + PolygonRegionsModel.FILE_EXTENSION_OLD); if (!validFile && !validFileOld) { // Show the user an error message. UserAssistMessageBuilder message = new UserAssistMessageBuilder(); message.setDescription("Unable to read polygon model file."); message.addReason("Invalid file type."); message.addSolution( "Select a valid polygon model file (*." + PolygonRegionsModel.FILE_EXTENSION + ")."); MessageDialog.openError(shell, "File I/O Error", message.toString()); } else { boolean rescalePolygons = MessageDialog.openQuestion( shell, "Rescale Polygons", "Rescale polygons to plot maximum?"); try { // Store the directory location in the preferences. _preferencesStore.put(_preferencesString, file.getParent()); PreferencesUtil.saveInstanceScopePreferences(ServiceComponent.PLUGIN_ID); // Read the model from the file. if (validFile) { _model.readSession(file, rescalePolygons); } else if (validFileOld) { _model.readSessionOld(file, rescalePolygons); } String message = "Polygon regions model loaded:\n\'" + file.getAbsolutePath() + "\'"; MessageDialog.openInformation(shell, "File I/O", message); } catch (Exception ex) { // Show the user an error message. UserAssistMessageBuilder message = new UserAssistMessageBuilder(); message.setDescription("Unable to read polygon model file."); message.addReason(ex.toString()); MessageDialog.openError(shell, "File I/O Error", message.toString()); } } } shell.dispose(); }
/** * The function called whenever the Action is selected from the drop-down. It will grab the set of * silo files and create a .visit file from them which just sequentially lists the files, * separated by a newline character. */ @Override public void run() { // Local Declarations String separator = System.getProperty("file.separator"); String[] fileNames; String visitFileName = null; ArrayList<String> siloFilesToAdd; VizResource vizResource = null, child = null; ArrayList<VizResource> children = new ArrayList<VizResource>(); // Filter files by images (*.silo) or all files. String[] filterNames = new String[] {"All Files (*)", ".silo Files", "VisIt Files"}; String[] filterExtensions = new String[] {"*.silo"}; // Set this as the default action for the parent Action parentAction.setDefaultAction(this); // Get the Shell of the workbench Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); // Open the file system exploration dialog. Use SWT.OPEN for an open // file dialog and SWT.MULTI to allow multi-selection of files. FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI); // Check the OS and adjust if on Windows. String platform = SWT.getPlatform(); if ("win32".equals(platform) || "wpf".equals(platform)) { filterNames[0] = "All Files (*.*)"; filterExtensions[0] = "*.*"; } // Set the dialog's file filters. dialog.setFilterNames(filterNames); dialog.setFilterExtensions(filterExtensions); // If a file was selected in the dialog, create an VizResource for it // and add it to the viewer. if (dialog.open() != null) { // Get a reference to the VizFileViewer. VizFileViewer vizViewer = (VizFileViewer) viewer; // The file names selected fileNames = dialog.getFileNames(); visitFileName = dialog.getFilterPath() + separator + "visit_time_dependent.visit"; siloFilesToAdd = new ArrayList<String>(Arrays.asList(fileNames)); // Write the .visit file try { Files.write( Paths.get(visitFileName), siloFilesToAdd, Charset.defaultCharset(), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING); for (String name : fileNames) { child = new VizResource(new File(dialog.getFilterPath() + separator + name)); child.setHost("localhost"); children.add(child); } // Create the VizResource from it vizResource = new VizResource(new File(visitFileName)); // , // children); // Set the host, this should just be local vizResource.setHost("localhost"); // Add the File names so they show up in the tree vizResource.setFileSet(fileNames); // Give the .visit file to the FileViewer vizViewer.addFile(vizResource); } catch (IOException e) { logger.error(getClass().getName() + " Exception!", e); } } else { logger.info("AddFileSetAction message: No file selected."); } return; }
/** @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) */ public void createControl(Composite parent) { dialog = new FileDialog(this.getShell(), SWT.SAVE); dialog.setText(Messages.SVGFilePickerPage_WindowMessage); dialog.setFilterExtensions( new String[] {"*." + Messages.SVGFilePickerPage_Extension}); // $NON-NLS-1$ dialog.setFilterNames(new String[] {Messages.SVGFilePickerPage_ExtensionName}); Group group = new Group(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.makeColumnsEqualWidth = false; group.setLayout(layout); GridData data; Label label = new Label(group, SWT.NONE); label.setText(Messages.SVGFilePickerPage_ChooseWindowMessage); data = new GridData(SWT.FILL, SWT.CENTER, true, false); data.horizontalSpan = 2; data.verticalSpan = 1; label.setLayoutData(data); filePathText = new Text(group, SWT.NONE); filePathText.addModifyListener( new ModifyListener() { public void modifyText(ModifyEvent e) { Text text = (Text) e.widget; fileModel.setFilePath(text.getText()); setPageComplete(getWizard().canFinish()); } }); data = new GridData(SWT.FILL, SWT.CENTER, true, false); data.horizontalSpan = 1; data.verticalSpan = 1; filePathText.setLayoutData(data); Button browse = new Button(group, SWT.PUSH); browse.setText(Messages.SVGFilePickerPage_BrowseButtonText); browse.setToolTipText(Messages.SVGFilePickerPage_BrowseButtonTooltip); browse.setAlignment(SWT.CENTER); browse.setEnabled(true); browse.setVisible(true); data = new GridData(SWT.RIGHT, SWT.CENTER, false, false); data.horizontalSpan = 1; data.verticalSpan = 1; browse.setLayoutData(data); browse.addSelectionListener( new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } public void widgetSelected(SelectionEvent e) { dialog.setFilterPath(filePathText.getText()); String filePath = dialog.open(); filePathText.setText(filePath); } }); setControl(group); }
/** * Handle the create button selection event. * * @param event org.eclipse.swt.events.SelectionEvent */ void createButtonSelected(SelectionEvent event) { /* Compute the appropriate dialog style */ int style = getDefaultStyle(); if (okButton.getEnabled() && okButton.getSelection()) style |= SWT.OK; if (cancelButton.getEnabled() && cancelButton.getSelection()) style |= SWT.CANCEL; if (yesButton.getEnabled() && yesButton.getSelection()) style |= SWT.YES; if (noButton.getEnabled() && noButton.getSelection()) style |= SWT.NO; if (retryButton.getEnabled() && retryButton.getSelection()) style |= SWT.RETRY; if (abortButton.getEnabled() && abortButton.getSelection()) style |= SWT.ABORT; if (ignoreButton.getEnabled() && ignoreButton.getSelection()) style |= SWT.IGNORE; if (iconErrorButton.getEnabled() && iconErrorButton.getSelection()) style |= SWT.ICON_ERROR; if (iconInformationButton.getEnabled() && iconInformationButton.getSelection()) style |= SWT.ICON_INFORMATION; if (iconQuestionButton.getEnabled() && iconQuestionButton.getSelection()) style |= SWT.ICON_QUESTION; if (iconWarningButton.getEnabled() && iconWarningButton.getSelection()) style |= SWT.ICON_WARNING; if (iconWorkingButton.getEnabled() && iconWorkingButton.getSelection()) style |= SWT.ICON_WORKING; if (primaryModalButton.getEnabled() && primaryModalButton.getSelection()) style |= SWT.PRIMARY_MODAL; if (applicationModalButton.getEnabled() && applicationModalButton.getSelection()) style |= SWT.APPLICATION_MODAL; if (systemModalButton.getEnabled() && systemModalButton.getSelection()) style |= SWT.SYSTEM_MODAL; if (saveButton.getEnabled() && saveButton.getSelection()) style |= SWT.SAVE; if (openButton.getEnabled() && openButton.getSelection()) style |= SWT.OPEN; if (multiButton.getEnabled() && multiButton.getSelection()) style |= SWT.MULTI; /* Open the appropriate dialog type */ String name = dialogCombo.getText(); if (name.equals(ControlExample.getResourceString("ColorDialog"))) { ColorDialog dialog = new ColorDialog(shell, style); dialog.setRGB(new RGB(100, 100, 100)); dialog.setText(ControlExample.getResourceString("Title")); RGB result = dialog.open(); textWidget.append(ControlExample.getResourceString("ColorDialog") + Text.DELIMITER); textWidget.append( ControlExample.getResourceString("Result", new String[] {"" + result}) + Text.DELIMITER); textWidget.append("getRGB() = " + dialog.getRGB() + Text.DELIMITER + Text.DELIMITER); return; } if (name.equals(ControlExample.getResourceString("DirectoryDialog"))) { DirectoryDialog dialog = new DirectoryDialog(shell, style); dialog.setMessage(ControlExample.getResourceString("Example_string")); dialog.setText(ControlExample.getResourceString("Title")); String result = dialog.open(); textWidget.append(ControlExample.getResourceString("DirectoryDialog") + Text.DELIMITER); textWidget.append( ControlExample.getResourceString("Result", new String[] {"" + result}) + Text.DELIMITER + Text.DELIMITER); return; } if (name.equals(ControlExample.getResourceString("FileDialog"))) { FileDialog dialog = new FileDialog(shell, style); dialog.setFileName(ControlExample.getResourceString("readme_txt")); dialog.setFilterNames(FilterNames); dialog.setFilterExtensions(FilterExtensions); dialog.setText(ControlExample.getResourceString("Title")); String result = dialog.open(); textWidget.append(ControlExample.getResourceString("FileDialog") + Text.DELIMITER); textWidget.append( ControlExample.getResourceString("Result", new String[] {"" + result}) + Text.DELIMITER); textWidget.append("getFileNames() =" + Text.DELIMITER); if ((dialog.getStyle() & SWT.MULTI) != 0) { String[] files = dialog.getFileNames(); for (int i = 0; i < files.length; i++) { textWidget.append("\t" + files[i] + Text.DELIMITER); } } textWidget.append( "getFilterIndex() = " + dialog.getFilterIndex() + Text.DELIMITER + Text.DELIMITER); return; } if (name.equals(ControlExample.getResourceString("FontDialog"))) { FontDialog dialog = new FontDialog(shell, style); dialog.setText(ControlExample.getResourceString("Title")); FontData result = dialog.open(); textWidget.append(ControlExample.getResourceString("FontDialog") + Text.DELIMITER); textWidget.append( ControlExample.getResourceString("Result", new String[] {"" + result}) + Text.DELIMITER); textWidget.append("getFontList() =" + Text.DELIMITER); FontData[] fonts = dialog.getFontList(); if (fonts != null) { for (int i = 0; i < fonts.length; i++) { textWidget.append("\t" + fonts[i] + Text.DELIMITER); } } textWidget.append("getRGB() = " + dialog.getRGB() + Text.DELIMITER + Text.DELIMITER); return; } if (name.equals(ControlExample.getResourceString("PrintDialog"))) { PrintDialog dialog = new PrintDialog(shell, style); dialog.setText(ControlExample.getResourceString("Title")); PrinterData result = dialog.open(); textWidget.append(ControlExample.getResourceString("PrintDialog") + Text.DELIMITER); textWidget.append( ControlExample.getResourceString("Result", new String[] {"" + result}) + Text.DELIMITER); textWidget.append("getScope() = " + dialog.getScope() + Text.DELIMITER); textWidget.append("getStartPage() = " + dialog.getStartPage() + Text.DELIMITER); textWidget.append("getEndPage() = " + dialog.getEndPage() + Text.DELIMITER); textWidget.append( "getPrintToFile() = " + dialog.getPrintToFile() + Text.DELIMITER + Text.DELIMITER); return; } if (name.equals(ControlExample.getResourceString("MessageBox"))) { MessageBox dialog = new MessageBox(shell, style); dialog.setMessage(ControlExample.getResourceString("Example_string")); dialog.setText(ControlExample.getResourceString("Title")); int result = dialog.open(); textWidget.append(ControlExample.getResourceString("MessageBox") + Text.DELIMITER); /* * The resulting integer depends on the original * dialog style. Decode the result and display it. */ switch (result) { case SWT.OK: textWidget.append(ControlExample.getResourceString("Result", new String[] {"SWT.OK"})); break; case SWT.YES: textWidget.append(ControlExample.getResourceString("Result", new String[] {"SWT.YES"})); break; case SWT.NO: textWidget.append(ControlExample.getResourceString("Result", new String[] {"SWT.NO"})); break; case SWT.CANCEL: textWidget.append( ControlExample.getResourceString("Result", new String[] {"SWT.CANCEL"})); break; case SWT.ABORT: textWidget.append(ControlExample.getResourceString("Result", new String[] {"SWT.ABORT"})); break; case SWT.RETRY: textWidget.append(ControlExample.getResourceString("Result", new String[] {"SWT.RETRY"})); break; case SWT.IGNORE: textWidget.append( ControlExample.getResourceString("Result", new String[] {"SWT.IGNORE"})); break; default: textWidget.append(ControlExample.getResourceString("Result", new String[] {"" + result})); break; } textWidget.append(Text.DELIMITER + Text.DELIMITER); } }
private void openAddressBook() { FileDialog fileDialog = new FileDialog(shell, SWT.OPEN); fileDialog.setFilterExtensions(new String[] {"*.adr;", "*.*"}); fileDialog.setFilterNames( new String[] { resAddressBook.getString("Book_filter_name") + " (*.adr)", resAddressBook.getString("All_filter_name") + " (*.*)" }); String name = fileDialog.open(); if (name == null) return; File file = new File(name); if (!file.exists()) { displayError( resAddressBook.getString("File") + file.getName() + " " + resAddressBook.getString("Does_not_exist")); return; } Cursor waitCursor = shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT); shell.setCursor(waitCursor); FileReader fileReader = null; BufferedReader bufferedReader = null; String[] data = new String[0]; try { fileReader = new FileReader(file.getAbsolutePath()); bufferedReader = new BufferedReader(fileReader); String nextLine = bufferedReader.readLine(); while (nextLine != null) { String[] newData = new String[data.length + 1]; System.arraycopy(data, 0, newData, 0, data.length); newData[data.length] = nextLine; data = newData; nextLine = bufferedReader.readLine(); } } catch (FileNotFoundException e) { displayError(resAddressBook.getString("File_not_found") + "\n" + file.getName()); return; } catch (IOException e) { displayError(resAddressBook.getString("IO_error_read") + "\n" + file.getName()); return; } finally { shell.setCursor(null); if (fileReader != null) { try { fileReader.close(); } catch (IOException e) { displayError(resAddressBook.getString("IO_error_close") + "\n" + file.getName()); return; } } } String[][] tableInfo = new String[data.length][table.getColumnCount()]; int writeIndex = 0; for (int i = 0; i < data.length; i++) { String[] line = decodeLine(data[i]); if (line != null) tableInfo[writeIndex++] = line; } if (writeIndex != data.length) { String[][] result = new String[writeIndex][table.getColumnCount()]; System.arraycopy(tableInfo, 0, result, 0, writeIndex); tableInfo = result; } Arrays.sort(tableInfo, new RowComparator(0)); for (int i = 0; i < tableInfo.length; i++) { TableItem item = new TableItem(table, SWT.NONE); item.setText(tableInfo[i]); } shell.setText(resAddressBook.getString("Title_bar") + fileDialog.getFileName()); isModified = false; this.file = file; }