📄 dialogtab.java
字号:
/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.examples.controlexample;import org.eclipse.swt.*;import org.eclipse.swt.graphics.*;import org.eclipse.swt.widgets.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.printing.*;import org.eclipse.swt.events.*;class DialogTab extends Tab { /* Example widgets and groups that contain them */ Group dialogStyleGroup, resultGroup; Text textWidget; /* Style widgets added to the "Style" group */ Combo dialogCombo; Button okButton, cancelButton; Button yesButton, noButton; Button retryButton; Button abortButton, ignoreButton; Button iconErrorButton, iconInformationButton, iconQuestionButton; Button iconWarningButton, iconWorkingButton; Button modelessButton, primaryModalButton, applicationModalButton, systemModalButton; Button saveButton, openButton, multiButton; static String [] FilterExtensions = {"*.txt", "*.bat", "*.doc"}; static String [] FilterNames = {ControlExample.getResourceString("FilterName_0"), ControlExample.getResourceString("FilterName_1"), ControlExample.getResourceString("FilterName_2")}; /** * Creates the Tab within a given instance of ControlExample. */ DialogTab(ControlExample instance) { super(instance); } /** * Handle a button style selection event. * * @param event the selection event */ void buttonStyleSelected(SelectionEvent event) { /* * Only certain combinations of button styles are * supported for various dialogs. Make sure the * control widget reflects only valid combinations. */ okButton.setEnabled ( !(yesButton.getSelection () || noButton.getSelection () || retryButton.getSelection () || abortButton.getSelection () || ignoreButton.getSelection ())); cancelButton.setEnabled ( !(abortButton.getSelection () || ignoreButton.getSelection () || (yesButton.getSelection () != noButton.getSelection ()))); yesButton.setEnabled ( !(okButton.getSelection () || retryButton.getSelection () || abortButton.getSelection () || ignoreButton.getSelection () || (cancelButton.getSelection () && !yesButton.getSelection () && !noButton.getSelection ()))); noButton.setEnabled ( !(okButton.getSelection () || retryButton.getSelection () || abortButton.getSelection () || ignoreButton.getSelection () || (cancelButton.getSelection () && !yesButton.getSelection () && !noButton.getSelection ()))); retryButton.setEnabled ( !(okButton.getSelection() || yesButton.getSelection() || noButton.getSelection ())); abortButton.setEnabled ( !(okButton.getSelection () || cancelButton.getSelection () || yesButton.getSelection () || noButton.getSelection ())); ignoreButton.setEnabled ( !(okButton.getSelection () || cancelButton.getSelection () | yesButton.getSelection () || noButton.getSelection ())); } /** * 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 (); Shell shell = tabFolderPage.getShell (); 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 + 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 + 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 + 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 + 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); } } /** * Creates the "Control" group. */ void createControlGroup () { /* * Create the "Control" group. This is the group on the * right half of each example tab. It consists of the * style group, the display group and the size group. */ controlGroup = new Group (tabFolderPage, SWT.NONE); GridLayout gridLayout= new GridLayout (); controlGroup.setLayout(gridLayout); gridLayout.numColumns = 2; gridLayout.makeColumnsEqualWidth = true; controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL)); controlGroup.setText (ControlExample.getResourceString("Parameters")); /* * Create a group to hold the dialog style combo box and * create dialog button. */ dialogStyleGroup = new Group (controlGroup, SWT.NONE); dialogStyleGroup.setLayout (new GridLayout ()); GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_CENTER); gridData.horizontalSpan = 2; dialogStyleGroup.setLayoutData (gridData); dialogStyleGroup.setText (ControlExample.getResourceString("Dialog_Type")); } /** * Creates the "Control" widget children. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -