Author: robbie
Date: Tue Jun 23 09:55:31 2009
New Revision: 787614

URL: http://svn.apache.org/viewvc?rev=787614&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/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java

Modified: 
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java?rev=787614&r1=787613&r2=787614&view=diff
==============================================================================
--- 
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
 (original)
+++ 
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
 Tue Jun 23 09:55:31 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:[email protected]

Reply via email to