X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fplugins%2Forg.argeo.slc.client.rcp%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Frcp%2FSlcSecureWorkbenchWindowAdvisor.java;h=8f3913f88943b880e3c6011d7e9052c693a904df;hb=5fcacdb600e4c9e765cb93b46132932662832c1b;hp=5436a49a3027b93cc222efaa505d760f915fd787;hpb=f37b0f6cc0e1fe7b284c079e9dc20c34be1acd14;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/SlcSecureWorkbenchWindowAdvisor.java b/eclipse/plugins/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/SlcSecureWorkbenchWindowAdvisor.java index 5436a49a3..8f3913f88 100644 --- a/eclipse/plugins/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/SlcSecureWorkbenchWindowAdvisor.java +++ b/eclipse/plugins/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/SlcSecureWorkbenchWindowAdvisor.java @@ -1,9 +1,10 @@ package org.argeo.slc.client.rcp; -import org.argeo.security.ui.application.SecureWorkbenchWindowAdvisor; +import org.argeo.security.ui.rcp.SecureWorkbenchWindowAdvisor; import org.eclipse.swt.SWT; +import org.eclipse.swt.dnd.DropTargetAdapter; +import org.eclipse.swt.dnd.DropTargetEvent; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; @@ -12,33 +13,58 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Tray; import org.eclipse.swt.widgets.TrayItem; import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.application.ActionBarAdvisor; -import org.eclipse.ui.application.IActionBarConfigurer; 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; - public SlcSecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { - super(configurer); + public SlcSecureWorkbenchWindowAdvisor( + IWorkbenchWindowConfigurer configurer, String username) { + super(configurer, username); } -// public ActionBarAdvisor createActionBarAdvisor( -// IActionBarConfigurer configurer) { -// return new ApplicationActionBarAdvisor(configurer); -// } + public void postWindowOpen() { + 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() { - public void postWindowOpen() { - initTray(); + @Override + public void dragEnter(DropTargetEvent event) { + System.out.println("DROP enter!!! " + event); + } + + @Override + public void dragLeave(DropTargetEvent event) { + System.out.println("DROP leave!!! " + 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); + } + + }); + super.preWindowOpen(); } @Override @@ -54,7 +80,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; @@ -102,6 +129,9 @@ public class SlcSecureWorkbenchWindowAdvisor extends } } }); + + // start hidden + // shell.setVisible(false); } @Override