/** * Creates and returns a new IGazeHandler object from the specified object * and partRef, or returns null if no handler object is defined for that object. */ public static IGazeHandler createHandler(Object target, IWorkbenchPartReference partRef) { // create gaze handler for a StyledText widget within an EditorPart if (target instanceof StyledText && partRef instanceof IEditorReference) { return new StyledTextGazeHandler(target); //can go back to using partRef } else if (target instanceof Browser) { //create gaze handler for a Browser Stack overflow and Bug Report widget //cannot get associated partRef return new BrowserGazeHandler(target); } else if (target instanceof Tree && partRef instanceof IViewReference && partRef.getTitle().equals("Project Explorer")) { //create gaze handler for a Project Explorer Tree return new ProjectExplorerGazeHandler(target, partRef); } return null; }
/** * Bind a control. If it is a composite, also bind all of its children. * @param control Highest level control. * @param unbind If true, unbind instead of bind. */ private static void bindControl(IWorkbenchPartReference partRef, Control control, boolean unbind) { //If composite, bind children. if (control instanceof Composite) { Composite composite = (Composite) control; Control[] children = composite.getChildren(); if (children.length > 0 && children[0] != null) { for (Control curControl : children) bindControl(partRef, curControl, unbind); } } //control should not have any data set //upon reaching this part of the method IGazeHandler handler = GazeHandlerFactory. createHandler(control, partRef); if (handler != null && !unbind) control.setData(KEY_HANDLER, handler); else control.setData(KEY_HANDLER, null); }
/** * Find controls within a part, set it up to be used by iTrace, * and extract meta-data from it. * * @param partRef partRef that just became visible. */ private void setupControls(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(true); Control control = part.getAdapter(Control.class); //set up manager for control and managers for each child control if necessary if (control != null) { setupControls(part, control); } else { //Browser - always set up browser managers, no matter the partRef that //has become visible //not possible to get Browser control from a partRef Shell workbenchShell = partRef.getPage().getWorkbenchWindow().getShell(); for (Control ctrl: workbenchShell.getChildren()) { setupBrowsers(ctrl); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof de.darwinspl.preferences.resource.dwprofile.ui.DwprofileEditor) { de.darwinspl.preferences.resource.dwprofile.ui.DwprofileEditor editor = (de.darwinspl.preferences.resource.dwprofile.ui.DwprofileEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.feature.expression.resource.hyexpression.ui.HyexpressionEditor) { eu.hyvar.feature.expression.resource.hyexpression.ui.HyexpressionEditor editor = (eu.hyvar.feature.expression.resource.hyexpression.ui.HyexpressionEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.context.contextValidity.resource.hyvalidityformula.ui.HyvalidityformulaEditor) { eu.hyvar.context.contextValidity.resource.hyvalidityformula.ui.HyvalidityformulaEditor editor = (eu.hyvar.context.contextValidity.resource.hyvalidityformula.ui.HyvalidityformulaEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.dataValues.resource.hydatavalue.ui.HydatavalueEditor) { eu.hyvar.dataValues.resource.hydatavalue.ui.HydatavalueEditor editor = (eu.hyvar.dataValues.resource.hydatavalue.ui.HydatavalueEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.feature.mapping.resource.hymapping.ui.HymappingEditor) { eu.hyvar.feature.mapping.resource.hymapping.ui.HymappingEditor editor = (eu.hyvar.feature.mapping.resource.hymapping.ui.HymappingEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.feature.constraint.resource.hyconstraints.ui.HyconstraintsEditor) { eu.hyvar.feature.constraint.resource.hyconstraints.ui.HyconstraintsEditor editor = (eu.hyvar.feature.constraint.resource.hyconstraints.ui.HyconstraintsEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef.isDirty()) { return; } IWorkbenchPart workbenchPart = partRef.getPart(false); if (workbenchPart instanceof eu.hyvar.mspl.manifest.resource.hymanifest.ui.HymanifestEditor) { eu.hyvar.mspl.manifest.resource.hymanifest.ui.HymanifestEditor editor = (eu.hyvar.mspl.manifest.resource.hymanifest.ui.HymanifestEditor) workbenchPart; Resource editorResource = editor.getResource(); if (editorResource == null) { return; } String uri = editorResource.getURI().toString(); Resource thisEditorResource = this.editor.getResource(); URI thisEditorResourceURI = thisEditorResource.getURI(); if (uri.equals(thisEditorResourceURI.toString())) { saveCodeFoldingStateFile(uri); editor.getSite().getPage().removePartListener(this); } } }
public void partClosed(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(false); if (part instanceof CompareEditor) { CompareEditor editor = (CompareEditor)part; IEditorInput input = editor.getEditorInput(); String name = input.getName(); if (name != null && name.startsWith(compareName)) { targetPart.getSite().getPage().removePartListener(this); if (MessageDialog.openQuestion(getShell(), Messages.ResolveTreeConflictWizard_editorClosed, Messages.ResolveTreeConflictWizard_promptToReolve + treeConflict.getResource().getName() + "?")) { //$NON-NLS-1$ ResolveTreeConflictWizard wizard = new ResolveTreeConflictWizard(treeConflict, targetPart); WizardDialog dialog = new SizePersistedWizardDialog(Display.getDefault().getActiveShell(), wizard, "ResolveTreeConflict"); //$NON-NLS-1$ dialog.open(); } } } }
@Override public void partClosed(IWorkbenchPartReference partRef) { if (partRef.getPart(false) == SQLEditor.this && !PlatformUI.getWorkbench().isClosing() && getEditorInput() instanceof IFileEditorInput) { IFile f = ((IFileEditorInput) getEditorInput()).getFile(); if (PROJ_PATH.MIGRATION_DIR.equals(f.getProjectRelativePath().segment(0))) { askDeleteScript(f); } } }
private void removeSelectionChangeListener(IWorkbenchPartReference partRef) { if (partRef.getPart(false) instanceof IEditorPart) { IEditorPart editor = (IEditorPart) partRef.getPart(false); initContextualView(editor); if (editor instanceof EcoreEditor) { EcoreEditor eEditor = (EcoreEditor) editor; IFileEditorInput eInput = (IFileEditorInput) eEditor.getEditorInput(); IFile eFile = eInput.getFile(); // Removing SelectionChangeListener from editor. ((EcoreEditor) editor).getViewer() .removeSelectionChangedListener(SelectionChangeListener.getInstance(eFile)); } } }
/** * Binds all controls in an IWorkbenchPartReference that is * an instance of IEditorPartReference to their appropriate * gaze handlers if the handler exists. * Binds the IWorkbenchPartReference that is an instance of * IViewPartReference to the appropriate gaze handler if the * handler exists. * @param partRef Workbench part from which to get controls. */ public static void bind(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(true); Control control = part.getAdapter(Control.class); System.out.println(control); //is an EditorPart if (control != null) { bindControl(partRef, control, false); //is a ViewPart } else { //must be handled on a case to case basis //Browser - always look through all controls in the shell for browsers and bind them //regardless of the partRef that has become visible //not possible to get a Browser control from a partRef Shell workbenchShell = partRef.getPage().getWorkbenchWindow().getShell(); for (Control ctrl : workbenchShell.getChildren()) { bind(ctrl); //call recursive helper function to find all browser controls } //Project Explorer if (part.getAdapter(ProjectExplorer.class) != null) { ProjectExplorer explorer = part.getAdapter(ProjectExplorer.class); //this control is the primary control associated with a ProjectExplorer Control viewControl = explorer.getCommonViewer().getControl(); bindControl(partRef, viewControl, false); } } }
/** * Unbinds all controls in an IWorkbenchPartReference that is an instance * of IEditorPartReference which are currently bound to a gaze handler. * Unbinds an IWorkbenchPartReference that is an instance of IViewPartReference * which is currently bound to a gaze handler. * @param partRef Workbench part from which to get controls. */ public static void unbind(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(true); Control control = part.getAdapter(Control.class); //is an EditorPart if (control != null) { bindControl(partRef, control, true); //is a ViewPart } else { //must be handled on a case to case basis //Browser - always look through all controls in the shell for browsers and unbind them //regardless of the partRef that has been hidden //not possible to get Browser control from a partRef Shell workbenchShell = partRef.getPage().getWorkbenchWindow().getShell(); for (Control ctrl : workbenchShell.getChildren()) { unbind(ctrl); } //Project Explorer if (part.getAdapter(ProjectExplorer.class) != null) { ProjectExplorer explorer = part.getAdapter(ProjectExplorer.class); //this control is the primary control associated with a ProjectExplorer Control viewControl = explorer.getCommonViewer().getControl(); bindControl(partRef, viewControl, true); } } }
@Override public void partActivated(IWorkbenchPartReference partRef) { if(partRef.getPart(false) instanceof IEditorPart) { ITrace.getDefault().setActiveEditor((IEditorPart)partRef.getPart(false)); IEditorPart ep = (IEditorPart)partRef.getPart(true); ITrace.getDefault().setLineManager(ep.getEditorSite().getActionBars().getStatusLineManager()); } }
@Override public void partBroughtToTop(IWorkbenchPartReference partRef) { if(partRef.getPart(false) instanceof IEditorPart) { ITrace.getDefault().setActiveEditor((IEditorPart)partRef.getPart(false)); IEditorPart ep = (IEditorPart)partRef.getPart(true); ITrace.getDefault().setLineManager(ep.getEditorSite().getActionBars().getStatusLineManager());; } }
@Override public void partClosed(IWorkbenchPartReference partRef) { if(partRef instanceof IEditorReference){ setupEditors.remove(partRef); ITrace.getDefault().setActionBars(getViewSite().getActionBars()); IEditorPart ep = (IEditorPart)partRef.getPart(true); ITrace.getDefault().removeHighlighter(ep); ITrace.getDefault().setActiveEditor( PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().getActiveEditor() ); } }
@Test public void executionListenerIsFiredOnEditorOpen() { IPartListener2 createEditorListener = createStrictMock(IPartListener2.class); reset(createEditorListener); createEditorListener.partOpened(isA(IWorkbenchPartReference.class)); expectLastCall().andAnswer(IS_ARG_IEDITORPART_ANSWER).times(1); replay(createEditorListener); eclipse.getActiveWorkbenchPage().addPartListener(createEditorListener); eclipseMockCtrl.openNewNonEMFEditorPart(); verify(createEditorListener); }
@Test public void executionListenerIsFiredOnEMFTreeEditorOpen() { IPartListener2 createEditorListener = createStrictMock(IPartListener2.class); reset(createEditorListener); createEditorListener.partOpened(isA(IWorkbenchPartReference.class)); expectLastCall().andAnswer(IS_ARG_IEDITORPART_ANSWER).times(1); replay(createEditorListener); eclipse.getActiveWorkbenchPage().addPartListener(createEditorListener); eclipseMockCtrl.openNewEMFTreeEditorPart(Files.DATATYPE_ECORE); verify(createEditorListener); }
@Test public void executionListenerIsFiredOnGMFEditorOpen() { IPartListener2 createEditorListener = createStrictMock(IPartListener2.class); reset(createEditorListener); createEditorListener.partOpened(isA(IWorkbenchPartReference.class)); expectLastCall().andAnswer(IS_ARG_IEDITORPART_ANSWER).times(1); replay(createEditorListener); eclipse.getActiveWorkbenchPage().addPartListener(createEditorListener); eclipseMockCtrl.openNewEMFDiagramEditorPart(Files.EXAMPLEMODEL_ECORE, Files.EXAMPLEMODEL_ECOREDIAG); verify(createEditorListener); }
@Test public void executionListenerIsFiredOnMultipleEditorOpen() { IPartListener2 createEditorListener = createStrictMock(IPartListener2.class); reset(createEditorListener); createEditorListener.partOpened(isA(IWorkbenchPartReference.class)); expectLastCall().andAnswer(IS_ARG_IEDITORPART_ANSWER).times(3); replay(createEditorListener); eclipse.getActiveWorkbenchPage().addPartListener(createEditorListener); eclipseMockCtrl.openNewNonEMFEditorPart(); eclipseMockCtrl.openNewEMFTreeEditorPart(Files.EMPTY_ECORE); eclipseMockCtrl.openNewEMFTreeEditorPart(Files.EMPTY_ECORE); verify(createEditorListener); }
@Test public void executionListenerIsFiredOnEditorClose() { IPartListener2 createEditorListener = createStrictMock(IPartListener2.class); reset(createEditorListener); createEditorListener.partClosed(isA(IWorkbenchPartReference.class)); expectLastCall().times(1); replay(createEditorListener); IEditorPart editor = eclipseMockCtrl.openNewNonEMFEditorPart(); eclipse.getActiveWorkbenchPage().addPartListener(createEditorListener); eclipseMockCtrl.closeEditorPart(editor); verify(createEditorListener); }
public static List getNonSecondaryParts(IWorkbenchPage page) { List list = new ArrayList(); list.addAll(Arrays.asList(page.getViewReferences())); list.addAll(Arrays.asList(page.getEditorReferences())); for (Iterator i = list.iterator(); i.hasNext();) { IWorkbenchPartReference ref = (IWorkbenchPartReference) i.next(); if (ref instanceof ISecondaryPart) { i.remove(); } } return list; }
public void partVisible(IWorkbenchPartReference ref) { if (ref.getId().equals(workbenchPartSite.getId())) { IWorkbenchPart activePart = ref.getPage().getActivePart(); if (activePart != null) selectionListener.selectionChanged(activePart, ref.getPage().getSelection()); startListeningForSelectionChanges(); } }
@Override // XXX. Make sure still OK to listen in? // XXX. Check the argument! What is being activated?! public void partActivated(IWorkbenchPartReference partRef) { updateTabs(); }
@Override public void partActivated(IWorkbenchPartReference partRef) { // XXX. Comment out bad functionality // if (!ArchDocOptions.getInstance().isEnablePartialOOG()) { // return; // } // // RuntimeModel instance = RuntimeModel.getInstance(); // if (linkAction != null && linkAction.isLinked()) { // // EdgeSummary summaryInfo = instance.getSummaryInfo(); // if (summaryInfo != null) { // IType openJavaEditor = ASTUtils.getTypeOfOpenJavaEditor(); // if (openJavaEditor != null) { // String nameOfOpenJavaEditor = openJavaEditor.getFullyQualifiedName(); // if (nameOfOpenJavaEditor != null) { // Set<Info<IElement>> mircs = summaryInfo.getMostImportantRelatedClass(nameOfOpenJavaEditor); // displayMircs(mircs); // } // } // } // } // else { // // } }
@Override public void partActivated(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partBroughtToTop(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partClosed(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partDeactivated(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partOpened(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partHidden(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partVisible(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partInputChanged(final IWorkbenchPartReference partRef) { // Does nothing by default. }
@Override public void partActivated(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(false); onActivated(part); }
@Override public void partBroughtToTop(IWorkbenchPartReference partRef) { // TODO Auto-generated method stub }
@Override public void partClosed(IWorkbenchPartReference partRef) { // TODO Auto-generated method stub }
@Override public void partDeactivated(IWorkbenchPartReference partRef) { // TODO Auto-generated method stub }
@Override public void partOpened(IWorkbenchPartReference partRef) { // TODO Auto-generated method stub }