You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2009/07/13 10:53:27 UTC

svn commit: r793498 - /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java

Author: robbie
Date: Mon Jul 13 08:53:27 2009
New Revision: 793498

URL: http://svn.apache.org/viewvc?rev=793498&view=rev
Log:
QPID-1930: add utility method for creating modal dialog shells, and augment previous result window generator to allow ESC to act as close

Modified:
    qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java

Modified: qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java?rev=793498&r1=793497&r2=793498&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java (original)
+++ qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java Mon Jul 13 08:53:27 2009
@@ -54,7 +54,9 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.MessageBox;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.ScrollBar;
@@ -775,16 +777,49 @@
     public static Shell createPopupShell(String title, int width, int height)
     {
         Display display = Display.getCurrent();
-        Shell shell = new Shell(display, SWT.BORDER | SWT.CLOSE | SWT.MIN |SWT.MAX);
+        final Shell shell = new Shell(display, SWT.BORDER | SWT.CLOSE | SWT.MIN |SWT.MAX);
         shell.setText(title);
         shell.setLayout(new GridLayout());       
         int x = display.getBounds().width;
         int y = display.getBounds().height;
         shell.setBounds(x/4, y/4, width, height); 
         
+        shell.addListener(SWT.Traverse, new Listener () {
+            public void handleEvent (Event event) {
+                switch (event.detail) {
+                    case SWT.TRAVERSE_ESCAPE:
+                        shell.close ();
+                        event.detail = SWT.TRAVERSE_NONE;
+                        event.doit = false;
+                        break;
+                }
+            }
+        });
+        
         return shell;
     }
     
+    public static Shell createModalDialogShell(Shell parent, String title)
+    {
+        final Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
+        shell.setText(title);
+        shell.setLayout(new GridLayout());       
+        
+        shell.addListener(SWT.Traverse, new Listener () {
+            public void handleEvent (Event event) {
+                switch (event.detail) {
+                    case SWT.TRAVERSE_ESCAPE:
+                        shell.close ();
+                        event.detail = SWT.TRAVERSE_NONE;
+                        event.doit = false;
+                        break;
+                }
+            }
+        });
+        
+        return shell;
+    }
+
     /**
      * Creates a List widget for displaying array of strings
      * @param compositeHolder



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org