Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java368
1 files changed, 184 insertions, 184 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java
index 9fbca66009a..cb357a962ae 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/dialog/QuestionDialog.java
@@ -1,184 +1,184 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Nicolas Bros (Mia-Software) - Bug 366367 - To be able to change the "CanBePresentedInTheTable" query
- * Gregoire Dupe (Mia-Software) - Bug 373248 - Clean PMD errors
- * Gregoire Dupe (Mia-Software) - Bug 374903 - [Table] ITableWidget.setLoadedFacetSets
- *******************************************************************************/
-package org.eclipse.papyrus.emf.facet.util.ui.internal.dialog;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.papyrus.emf.facet.util.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IQuestionDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A yes/no dialog, that replicates the JFace MessageDialog#openQuestion, but is designed to be easily testable with JUnit
- *
- * @since 0.2
- */
-public class QuestionDialog implements IQuestionDialog {
-
- private static final int SHELL_WIDTH = 450;
- private static final int SHELL_HEIGHT = 170;
-
- private final Shell parentShell;
- private final List<Runnable> listeners = new ArrayList<Runnable>();
- private Boolean result = null;
- private Shell shell;
- private Button btnYes;
- private Button btnNo;
- private final String title;
- private final String message;
- private IDialogCallback<Boolean> callback;
-
- public QuestionDialog(final Shell parent, final String title,
- final String message, final IDialogCallback<Boolean> callback) {
- this.parentShell = parent;
- this.title = title;
- this.message = message;
- this.callback = callback;
- createContents();
- }
-
- /**
- * Open the dialog.
- *
- * @return the result
- */
- public final void open() {
- this.shell.layout();
- // center the shell on its parent (if not parent shell then it will not be centered)
- if (this.parentShell != null) {
- final Rectangle parentShellBounds = this.parentShell.getBounds();
- final Point shellSize = this.shell.getSize();
- this.shell.setLocation(
- parentShellBounds.x + (parentShellBounds.width - shellSize.x) / 2,
- parentShellBounds.y + (parentShellBounds.height - shellSize.y) / 2);
- }
- this.shell.open();
- }
-
- /** Create the contents of the dialog. */
- private void createContents() {
- final int buttonWidthHint = 80;
- this.shell = new Shell(this.parentShell, SWT.BORDER | SWT.RESIZE | SWT.TITLE
- | SWT.APPLICATION_MODAL);
- this.shell.setSize(QuestionDialog.SHELL_WIDTH,
- QuestionDialog.SHELL_HEIGHT);
- this.shell.setText(this.title);
- final GridLayout shellLayout = new GridLayout(2, false);
-
- // constants to make checkstyle happy
- final int marginLeft = 5;
- final int marginTop = 8;
- final int verticalSpacing = 10;
- final int horizontalSpacing = 15;
- shellLayout.marginLeft = marginLeft;
- shellLayout.marginTop = marginTop;
- shellLayout.verticalSpacing = verticalSpacing;
- shellLayout.horizontalSpacing = horizontalSpacing;
-
- this.shell.setLayout(shellLayout);
-
- final Label image = new Label(this.shell, SWT.NONE);
- image.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
- image.setImage(Display.getDefault().getSystemImage(SWT.ICON_QUESTION));
-
- final Label labelMessage = new Label(this.shell, SWT.WRAP);
- labelMessage.setText(this.message);
- labelMessage.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- final Composite buttonsComposite = new Composite(this.shell, SWT.NONE);
- final int buttonsCompositeColumns = 3;
- buttonsComposite.setLayout(new GridLayout(buttonsCompositeColumns, false));
- buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
-
- final Composite paddingComposite = new Composite(buttonsComposite, SWT.NONE);
- final GridData paddingCompositeGridData = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
- paddingCompositeGridData.heightHint = 0;
- paddingComposite.setLayoutData(paddingCompositeGridData);
-
- this.btnYes = new Button(buttonsComposite, SWT.NONE);
- final GridData button1GridData = new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1);
- button1GridData.widthHint = buttonWidthHint;
- this.btnYes.setLayoutData(button1GridData);
- this.btnYes.setText(Messages.QuestionDialog_yes);
- this.btnYes.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- pressYes();
- }
- });
-
- this.btnNo = new Button(buttonsComposite, SWT.NONE);
- final GridData button2GridData = new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1);
- button2GridData.widthHint = buttonWidthHint;
- this.btnNo.setLayoutData(button2GridData);
- this.btnNo.setText(Messages.QuestionDialog_no);
- this.btnNo.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- pressNo();
- }
- });
- }
-
- public final void pressYes() {
- if (this.shell.isDisposed()) {
- throw new UnsupportedOperationException("Dialog is disposed"); //$NON-NLS-1$
- }
- this.result = Boolean.TRUE;
- this.shell.dispose();
- notifyListeners();
- }
-
- public final void pressNo() {
- if (this.shell.isDisposed()) {
- throw new UnsupportedOperationException("Dialog is disposed"); //$NON-NLS-1$
- }
- this.result = Boolean.FALSE;
- this.shell.dispose();
- notifyListeners();
- }
-
- private synchronized void notifyListeners() {
- if (this.callback != null) {
- this.callback.committed(getResult());
- }
- for (final Runnable listener : new ArrayList<Runnable>(this.listeners)) {
- listener.run();
- }
- }
-
- public synchronized void addCloseListener(final Runnable runnable) {
- this.listeners.add(runnable);
- }
-
- public final Boolean getResult() {
- return this.result;
- }
-
- public final Shell getShell() {
- return this.shell;
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas Bros (Mia-Software) - Bug 366367 - To be able to change the "CanBePresentedInTheTable" query
+ * Gregoire Dupe (Mia-Software) - Bug 373248 - Clean PMD errors
+ * Gregoire Dupe (Mia-Software) - Bug 374903 - [Table] ITableWidget.setLoadedFacetSets
+ *******************************************************************************/
+package org.eclipse.papyrus.emf.facet.util.ui.internal.dialog;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.papyrus.emf.facet.util.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IQuestionDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * A yes/no dialog, that replicates the JFace MessageDialog#openQuestion, but is designed to be easily testable with JUnit
+ *
+ * @since 0.2
+ */
+public class QuestionDialog implements IQuestionDialog {
+
+ private static final int SHELL_WIDTH = 450;
+ private static final int SHELL_HEIGHT = 170;
+
+ private final Shell parentShell;
+ private final List<Runnable> listeners = new ArrayList<Runnable>();
+ private Boolean result = null;
+ private Shell shell;
+ private Button btnYes;
+ private Button btnNo;
+ private final String title;
+ private final String message;
+ private IDialogCallback<Boolean> callback;
+
+ public QuestionDialog(final Shell parent, final String title,
+ final String message, final IDialogCallback<Boolean> callback) {
+ this.parentShell = parent;
+ this.title = title;
+ this.message = message;
+ this.callback = callback;
+ createContents();
+ }
+
+ /**
+ * Open the dialog.
+ *
+ * @return the result
+ */
+ public final void open() {
+ this.shell.layout();
+ // center the shell on its parent (if not parent shell then it will not be centered)
+ if (this.parentShell != null) {
+ final Rectangle parentShellBounds = this.parentShell.getBounds();
+ final Point shellSize = this.shell.getSize();
+ this.shell.setLocation(
+ parentShellBounds.x + (parentShellBounds.width - shellSize.x) / 2,
+ parentShellBounds.y + (parentShellBounds.height - shellSize.y) / 2);
+ }
+ this.shell.open();
+ }
+
+ /** Create the contents of the dialog. */
+ private void createContents() {
+ final int buttonWidthHint = 80;
+ this.shell = new Shell(this.parentShell, SWT.BORDER | SWT.RESIZE | SWT.TITLE
+ | SWT.APPLICATION_MODAL);
+ this.shell.setSize(QuestionDialog.SHELL_WIDTH,
+ QuestionDialog.SHELL_HEIGHT);
+ this.shell.setText(this.title);
+ final GridLayout shellLayout = new GridLayout(2, false);
+
+ // constants to make checkstyle happy
+ final int marginLeft = 5;
+ final int marginTop = 8;
+ final int verticalSpacing = 10;
+ final int horizontalSpacing = 15;
+ shellLayout.marginLeft = marginLeft;
+ shellLayout.marginTop = marginTop;
+ shellLayout.verticalSpacing = verticalSpacing;
+ shellLayout.horizontalSpacing = horizontalSpacing;
+
+ this.shell.setLayout(shellLayout);
+
+ final Label image = new Label(this.shell, SWT.NONE);
+ image.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
+ image.setImage(Display.getDefault().getSystemImage(SWT.ICON_QUESTION));
+
+ final Label labelMessage = new Label(this.shell, SWT.WRAP);
+ labelMessage.setText(this.message);
+ labelMessage.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ final Composite buttonsComposite = new Composite(this.shell, SWT.NONE);
+ final int buttonsCompositeColumns = 3;
+ buttonsComposite.setLayout(new GridLayout(buttonsCompositeColumns, false));
+ buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
+
+ final Composite paddingComposite = new Composite(buttonsComposite, SWT.NONE);
+ final GridData paddingCompositeGridData = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
+ paddingCompositeGridData.heightHint = 0;
+ paddingComposite.setLayoutData(paddingCompositeGridData);
+
+ this.btnYes = new Button(buttonsComposite, SWT.NONE);
+ final GridData button1GridData = new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1);
+ button1GridData.widthHint = buttonWidthHint;
+ this.btnYes.setLayoutData(button1GridData);
+ this.btnYes.setText(Messages.QuestionDialog_yes);
+ this.btnYes.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(final SelectionEvent e) {
+ pressYes();
+ }
+ });
+
+ this.btnNo = new Button(buttonsComposite, SWT.NONE);
+ final GridData button2GridData = new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1);
+ button2GridData.widthHint = buttonWidthHint;
+ this.btnNo.setLayoutData(button2GridData);
+ this.btnNo.setText(Messages.QuestionDialog_no);
+ this.btnNo.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(final SelectionEvent e) {
+ pressNo();
+ }
+ });
+ }
+
+ public final void pressYes() {
+ if (this.shell.isDisposed()) {
+ throw new UnsupportedOperationException("Dialog is disposed"); //$NON-NLS-1$
+ }
+ this.result = Boolean.TRUE;
+ this.shell.dispose();
+ notifyListeners();
+ }
+
+ public final void pressNo() {
+ if (this.shell.isDisposed()) {
+ throw new UnsupportedOperationException("Dialog is disposed"); //$NON-NLS-1$
+ }
+ this.result = Boolean.FALSE;
+ this.shell.dispose();
+ notifyListeners();
+ }
+
+ private synchronized void notifyListeners() {
+ if (this.callback != null) {
+ this.callback.committed(getResult());
+ }
+ for (final Runnable listener : new ArrayList<Runnable>(this.listeners)) {
+ listener.run();
+ }
+ }
+
+ public synchronized void addCloseListener(final Runnable runnable) {
+ this.listeners.add(runnable);
+ }
+
+ public final Boolean getResult() {
+ return this.result;
+ }
+
+ public final Shell getShell() {
+ return this.shell;
+ }
+}

Back to the top