]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - eclipse/plugins/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/SlcSecureWorkbenchWindowAdvisor.java
Improve Maven and RPM Structure
[gpl/argeo-slc.git] / eclipse / plugins / org.argeo.slc.client.rcp / src / main / java / org / argeo / slc / client / rcp / SlcSecureWorkbenchWindowAdvisor.java
index 1cfd3ddd161bed7dfb08eb415e14f22f2de23a75..e0e2de2a87425aa022953e6a733a59f9b0ceef90 100644 (file)
@@ -16,14 +16,10 @@ import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
 import org.eclipse.ui.part.EditorInputTransfer;
 
-/**
- * Set here initial default size of the UI
- * 
- * @author bsinou
- * 
- */
+/** Set here initial default size of the UI */
 public class SlcSecureWorkbenchWindowAdvisor extends
                SecureWorkbenchWindowAdvisor {
+       public final static String IN_TRAY_PROPERTY = "org.argeo.slc.ui.inTray";
 
        private TrayItem trayItem;
 
@@ -32,46 +28,49 @@ public class SlcSecureWorkbenchWindowAdvisor extends
                super(configurer, username);
        }
 
-       // public ActionBarAdvisor createActionBarAdvisor(
-       // IActionBarConfigurer configurer) {
-       // return new ApplicationActionBarAdvisor(configurer);
-       // }
-
-       
-       
        public void postWindowOpen() {
-               initTray();
+               String inTray = System.getProperty(IN_TRAY_PROPERTY);
+               if (inTray != null && inTray.equals("true")) {
+                       initTray();
+               }
        }
 
-       
-       
        @Override
        public void preWindowOpen() {
-               getWindowConfigurer().addEditorAreaTransfer(EditorInputTransfer.getInstance());
-               getWindowConfigurer().configureEditorAreaDropListener(new DropTargetAdapter() {
+               getWindowConfigurer().addEditorAreaTransfer(
+                               EditorInputTransfer.getInstance());
+               getWindowConfigurer().configureEditorAreaDropListener(
+                               new DropTargetAdapter() {
+
+                                       @Override
+                                       public void dragEnter(DropTargetEvent event) {
+                                               System.out.println("DROP enter!!! " + event);
+                                       }
 
-                       @Override
-                       public void dragEnter(DropTargetEvent event) {
-                               System.out.println("DROP enter!!! " + event);
-                       }
+                                       @Override
+                                       public void dragLeave(DropTargetEvent event) {
+                                               System.out.println("DROP leave!!! " + event);
+                                       }
 
-                       @Override
-                       public void dragLeave(DropTargetEvent event) {
-                               System.out.println("DROP leave!!! " + event);
-                       }
+                                       public void drop(DropTargetEvent event) {
+                                               System.out.println("DROP drop!!! " + event);
 
-                       public void drop(DropTargetEvent event) {
-                               System.out.println("DROP drop!!! " + event);
+                                       }
 
-                       }
+                                       @Override
+                                       public void dropAccept(DropTargetEvent event) {
+                                               System.out.println("DROP accept!!! " + event);
+                                               super.dropAccept(event);
+                                       }
 
-                       @Override
-                       public void dropAccept(DropTargetEvent event) {
-                               System.out.println("DROP accept!!! " + event);
-                               super.dropAccept(event);
-                       }
+                               });
 
-               });
+               // start hidden if in tray
+               String inTray = System.getProperty(IN_TRAY_PROPERTY);
+               if (inTray != null && inTray.equals("true")) {
+                       Shell shell = getWindowConfigurer().getWindow().getShell();
+                       shell.setVisible(false);
+               }
                super.preWindowOpen();
        }
 
@@ -88,7 +87,8 @@ public class SlcSecureWorkbenchWindowAdvisor extends
        /** Init tray support */
        protected void initTray() {
                IWorkbenchWindow window = getWindowConfigurer().getWindow();
-               final Tray tray = window.getShell().getDisplay().getSystemTray();
+               Shell shell = window.getShell();
+               final Tray tray = shell.getDisplay().getSystemTray();
                trayItem = new TrayItem(tray, SWT.NONE);
                if (trayItem == null)
                        return;
@@ -136,6 +136,7 @@ public class SlcSecureWorkbenchWindowAdvisor extends
                                }
                        }
                });
+
        }
 
        @Override