diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionOutlinePage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionOutlinePage.java index 95e0d306393c0f4527b06c27aebbb0558aba86d1..45d130b5408148388e43dc89e422d7d1f7b8fbd2 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionOutlinePage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionOutlinePage.java @@ -68,12 +68,12 @@ public class BMotionOutlinePage extends ContentOutlinePage { } protected void hookOutlineViewer() { - // getSelectionSynchronizer().addViewer(getViewer()); + this.viewPart.getSelectionSynchronizer().addViewer(getViewer()); } protected void unhookOutlineViewer() { GraphicalViewer graphicalViewer = viewPart.getGraphicalViewer(); - // getSelectionSynchronizer().removeViewer(getViewer()); + this.viewPart.getSelectionSynchronizer().removeViewer(getViewer()); if (graphicalViewer != null) { if (graphicalViewer.getControl() != null && !graphicalViewer.getControl().isDisposed()) @@ -89,7 +89,7 @@ public class BMotionOutlinePage extends ContentOutlinePage { initializeOverview(parent); graphicalViewer.getControl().addDisposeListener(disposeListener); configureOutlineViewer(); - // hookOutlineViewer(); + hookOutlineViewer(); initializeOutlineViewer(); createMenu(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/VisualizationViewPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/VisualizationViewPart.java index 7c3ba5599e1293733ce2938b6f055b71ef427ac1..879e9b45851041f3dd22bbabc131930c8438ba37 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/VisualizationViewPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/VisualizationViewPart.java @@ -11,6 +11,7 @@ import org.eclipse.gef.editparts.ScalableRootEditPart; import org.eclipse.gef.rulers.RulerProvider; import org.eclipse.gef.ui.actions.ActionRegistry; import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer; +import org.eclipse.gef.ui.parts.SelectionSynchronizer; import org.eclipse.gef.ui.rulers.RulerComposite; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; @@ -46,21 +47,23 @@ public class VisualizationViewPart extends PageBookView { private ActionRegistry actionRegistry; - private Composite x; + private Composite container; + + private BMotionSelectionSynchronizer selectionSynchronizer; @Override public Object getAdapter(@SuppressWarnings("rawtypes") Class type) { - // System.out.println("Try to get adapter: " + type); - // // Adapter for zoom manager // if (type == ZoomManager.class) // return ((ScalableRootEditPart) getGraphicalViewer() // .getRootEditPart()).getZoomManager(); + + // Adapter for content outline page if (type == IContentOutlinePage.class) { return new BMotionOutlinePage(this); } - // + // Adapter for property page if (type == IPropertySheetPage.class) { BMotionPropertyPage page = new BMotionPropertyPage( @@ -76,10 +79,16 @@ public class VisualizationViewPart extends PageBookView { } + public SelectionSynchronizer getSelectionSynchronizer() { + if (selectionSynchronizer == null) + selectionSynchronizer = new BMotionSelectionSynchronizer(); + return selectionSynchronizer; + } + // Workaround for prevent recursive activiation of part @Override public void setFocus() { - x.setFocus(); + container.setFocus(); super.setFocus(); } @@ -108,21 +117,9 @@ public class VisualizationViewPart extends PageBookView { return page; } - @Override - protected void partVisible(IWorkbenchPart part) { - // TODO Auto-generated method stub - super.partVisible(part); - } - - @Override - public void partActivated(IWorkbenchPart part) { - // System.out.println(this + " : ACTIVATE: " + part); - super.partActivated(part); - } - @Override public void createPartControl(Composite parent) { - this.x = parent; + this.container = parent; super.createPartControl(parent); } @@ -198,8 +195,6 @@ public class VisualizationViewPart extends PageBookView { @Override public void createControl(Composite parent) { container = new RulerComposite(parent, SWT.NONE); - // container = new Composite(parent, SWT.NONE); - // container.setLayout(new FillLayout()); graphicalViewer = new ScrollingGraphicalViewer(); graphicalViewer.createControl(container); configureGraphicalViewer(); @@ -209,7 +204,7 @@ public class VisualizationViewPart extends PageBookView { } protected void hookGraphicalViewer() { - // getSelectionSynchronizer().addViewer(getGraphicalViewer()); + getSelectionSynchronizer().addViewer(getGraphicalViewer()); getSite().setSelectionProvider(getGraphicalViewer()); }