From eef4888d3214ab92c5df3768d08c3e26269cc429 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 26 Jun 2011 21:14:57 +0000 Subject: [PATCH] Provide Display to ui event listener git-svn-id: https://svn.argeo.org/slc/trunk@4611 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- dep/org.argeo.slc.dep.backend/pom.xml | 5 +++++ .../META-INF/MANIFEST.MF | 1 + .../client/ui/editors/ProcessBuilderPage.java | 2 +- .../client/ui/views/JcrExecutionModulesView.java | 16 ++++++++++------ .../slc/client/ui/views/JcrProcessListView.java | 3 ++- .../slc/client/ui/views/JcrResultListView.java | 3 ++- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/dep/org.argeo.slc.dep.backend/pom.xml b/dep/org.argeo.slc.dep.backend/pom.xml index 565848515..20bec609d 100644 --- a/dep/org.argeo.slc.dep.backend/pom.xml +++ b/dep/org.argeo.slc.dep.backend/pom.xml @@ -61,6 +61,11 @@ org.argeo.slc.agent.jcr ${version.slc} + + org.argeo.slc.modules + org.argeo.slc.node.jackrabbit + ${version.slc} + diff --git a/eclipse/plugins/org.argeo.slc.client.rap/META-INF/MANIFEST.MF b/eclipse/plugins/org.argeo.slc.client.rap/META-INF/MANIFEST.MF index 3f5db65e8..1b10bb50f 100644 --- a/eclipse/plugins/org.argeo.slc.client.rap/META-INF/MANIFEST.MF +++ b/eclipse/plugins/org.argeo.slc.client.rap/META-INF/MANIFEST.MF @@ -10,3 +10,4 @@ Bundle-ActivationPolicy: lazy Import-Package: javax.servlet;version="2.4.0", javax.servlet.http;version="2.4.0", org.argeo.security.ui.rap +Export-Package: org.argeo.slc.client.rap diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java index 2978e1189..f5e8708ae 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java @@ -114,7 +114,7 @@ public class ProcessBuilderPage extends FormPage implements SlcNames { getManagedForm().addPart(formPart); // observation - statusObserver = new AsyncUiEventListener() { + statusObserver = new AsyncUiEventListener(form.getDisplay()) { protected void onEventInUiThread(EventIterator events) { statusChanged(); } diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java index 7e97d35e7..75864680e 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java @@ -33,13 +33,11 @@ import org.argeo.slc.execution.ExecutionModulesManager; import org.argeo.slc.jcr.SlcJcrConstants; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.jcr.SlcTypes; -import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DragSourceAdapter; @@ -48,6 +46,7 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; @@ -68,9 +67,9 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - + // FIXME : does not work in RAP, find a way to have it for RCP only - //ColumnViewerToolTipSupport.enableFor(viewer); + // ColumnViewerToolTipSupport.enableFor(viewer); ViewContentProvider contentProvider = new ViewContentProvider(session); @@ -90,7 +89,7 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, session.getWorkspace() .getObservationManager() .addEventListener( - new VmAgentObserver(), + new VmAgentObserver(viewer.getTree().getDisplay()), Event.NODE_ADDED | Event.NODE_REMOVED | Event.NODE_MOVED, SlcJcrConstants.VM_AGENT_FACTORY_PATH, true, null, @@ -99,7 +98,7 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, throw new SlcException("Cannot add observer", e); } } - + public void setFocus() { viewer.getControl().setFocus(); } @@ -231,6 +230,11 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, // } class VmAgentObserver extends AsyncUiEventListener { + + public VmAgentObserver(Display display) { + super(display); + } + protected void onEventInUiThread(EventIterator events) { // List baseNodes = ((SimpleNodeContentProvider) viewer // .getContentProvider()).getBaseNodes(); diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrProcessListView.java b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrProcessListView.java index 7fe300dcd..b849aa4bf 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrProcessListView.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrProcessListView.java @@ -65,7 +65,8 @@ public class JcrProcessListView extends ViewPart { viewer.setInput(getViewSite()); viewer.addDoubleClickListener(new ViewDoubleClickListener()); - processesObserver = new AsyncUiEventListener() { + processesObserver = new AsyncUiEventListener(viewer.getTable() + .getDisplay()) { protected void onEventInUiThread(EventIterator events) { // TODO optimize by updating only the changed process viewer.refresh(); diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultListView.java b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultListView.java index 78ef5910b..11eb02fd0 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultListView.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultListView.java @@ -67,7 +67,8 @@ public class JcrResultListView extends ViewPart implements SlcNames { getViewSite().setSelectionProvider(viewer); - resultsObserver = new AsyncUiEventListener() { + resultsObserver = new AsyncUiEventListener(viewer.getTable() + .getDisplay()) { protected void onEventInUiThread(EventIterator events) { // TODO optimize by updating only the changed result viewer.refresh(); -- 2.39.2