protected void updateSelectionProvider() { if (guiEditor != null) { selectionProvider.addHost("guiEditor", guiEditor.getSelectionProvider()); // $NON-NLS-1$ } if (textEditor != null) { selectionProvider.addHost("textEditor", getTextSelectionProvider()); // $NON-NLS-1$ } int index = getActivePage(); if (index == getSourcePageIndex()) { if (textEditor != null) { selectionProvider.setHost(getTextSelectionProvider()); } return; } if (index != getGuiPageIndex() || guiEditor == null || guiEditor.getSelectionProvider() == null) { if (treeEditor != null) { selectionProvider.setHost(treeEditor.getSelectionProvider()); treeEditor.fireEditorSelected(); } if (treeFormPage != null) { selectionProvider.addHost( "treeEditor", treeFormPage.getSelectionProvider(), true); // $NON-NLS-1$ } } else { ISelectionProvider p = guiEditor.getSelectionProvider(); selectionProvider.setHost(p); if (p instanceof AbstractSelectionProvider) { ((AbstractSelectionProvider) p).fireSelectionChanged(); } } }
protected void createGuiPage() { guiEditor = new TilesGuiEditor(); try { int index = addPage(guiEditor, getEditorInput()); setPageText(index, WebUIMessages.DIAGRAM); guiEditor.setInput(input); selectionProvider.setHost(guiEditor.getSelectionProvider()); guiEditor.addErrorSelectionListener(createErrorSelectionListener()); selectionProvider.addHost("guiEditor", guiEditor.getSelectionProvider()); // $NON-NLS-1$ } catch (PartInitException e) { TilesUIPlugin.getPluginLog().logError(e); } }
protected void setNormalMode() { if ((guiEditor != null) && isAppropriateNature()) { guiEditor.setObject(getModelObject(), isErrorMode()); } if (treeFormPage != null) { treeFormPage.initialize(getModelObject()); treeFormPage.setErrorMode(isErrorMode()); } updateSelectionProvider(); }
public Object getAdapter(Class adapter) { if (adapter == IContentOutlinePage.class) { if (guiEditor == null || guiEditor.getGUI() == null) { return super.getAdapter(adapter); } Object o = guiEditor.getGUI().getAdapter(adapter); if (o instanceof DiagramContentOutlinePage) { DiagramContentOutlinePage g = (DiagramContentOutlinePage) o; g.setTreeOutline(outline); } return o; } if (adapter == ActionRegistry.class || adapter == org.eclipse.gef.editparts.ZoomManager.class) { if (guiEditor != null) if (guiEditor.getGUI() != null) return guiEditor.getGUI().getAdapter(adapter); } return super.getAdapter(adapter); }
public void dispose() { if (input != null) { selectionProvider.setHost(null); getSite().setSelectionProvider(null); } super.dispose(); if (guiEditor != null) { guiEditor.dispose(); guiEditor = null; } }