org.eclipse.ui.IWorkbenchPage#addPartListener ( )源码实例Demo

下面列出了org.eclipse.ui.IWorkbenchPage#addPartListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: scava   文件: CodeRecommendationController.java
@Override
public void init() {
	super.init();

	IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
	activeEditorOnPageListener = new ActiveEditorOnPageListener(page);
	page.addPartListener(activeEditorOnPageListener);
	activeEditorOnPageListener.checkEditorInWindow();

	CodeRecommendationResultsModel model = new CodeRecommendationResultsModel();
	CodeRecommendationResultsView view = new CodeRecommendationResultsView();
	CodeRecommendationResultsController controller = new CodeRecommendationResultsController(this, model, view);
	controller.init();

	getView().showResults(view);
}
 
源代码2 项目: xtext-eclipse   文件: OpenDocumentTracker.java
@Inject(optional=true)
protected void initialize(final IWorkbench workbench) {
	Assert.isNotNull(Display.getCurrent());
	partListener = new PartListener();
	pageListener = new PageListener();
	for (IWorkbenchWindow window : workbench.getWorkbenchWindows()) {
		window.addPageListener(pageListener);
		for (IWorkbenchPage page : window.getPages()) {
			page.addPartListener(partListener);
			for (IEditorReference editorRef : page.getEditorReferences()) {
				Pair<URI, IXtextDocument> entry = getEntry(editorRef);
				if (entry != null) {
					resourceUri2document.put(entry.getFirst(), entry.getSecond());
				}
			}
		}
	}
}
 
public void setLinkingEnabled(boolean enabled) {
	fLinkingEnabled= enabled;
	saveDialogSettings();

	IWorkbenchPage page= getSite().getPage();
	if (enabled) {
		page.addPartListener(fLinkWithEditorListener);

		IEditorPart editor = page.getActiveEditor();
		if (editor != null)
			editorActivated(editor);
	} else {
		page.removePartListener(fLinkWithEditorListener);
	}
	fOpenAndLinkWithEditorHelper.setLinkWithEditor(enabled);
}
 
/**
 * Makes sure that the editor's folding state is correct the next time
 * it becomes visible. If it already is visible, it toggles the folding
 * state. If not, it either registers a part listener to toggle folding
 * when the editor becomes visible, or cancels an already registered
 * runner.
 */
public void runWhenNextVisible() {
	// if there is one already: toggling twice is the identity
	if (fFoldingRunner != null) {
		fFoldingRunner.cancel();
		return;
	}
	IWorkbenchPartSite site= getSite();
	if (site != null) {
		IWorkbenchPage page= site.getPage();
		if (!page.isPartVisible(JavaEditor.this)) {
			// if we're not visible - defer until visible
			fPage= page;
			fFoldingRunner= this;
			page.addPartListener(this);
			return;
		}
	}
	// we're visible - run now
	toggleFolding();
}
 
private void hookListeners(IWorkbenchPage page) {
	IPerspectiveDescriptor perspective = page.getPerspective();
	if (perspective != null) {
		perspectiveActivated(page, perspective);
	}
	page.addPartListener(this);
}
 
源代码6 项目: typescript.java   文件: JSDTEditorTracker.java
@Override
public void pageOpened(IWorkbenchPage page) {
	IEditorReference[] rs = page.getEditorReferences();
	for (IEditorReference r : rs) {
		IEditorPart part = r.getEditor(false);
		if (part != null) {
			editorOpened(part);
		}
	}
	page.addPartListener(this);
}
 
源代码7 项目: depan   文件: EditorBoundViewPart.java
@Override
public void createPartControl(Composite parentComposite) {
  IWorkbenchPage parentPage = getViewSite().getPage();
  editor = getAcceptableEditor(parentPage.getActiveEditor());
  createGui(parentComposite);
  parentPage.addPartListener(partListener);
}
 
public void install(IWorkbenchPage page) {
	page.addPartListener(this);
	fIsVisible= page.isPartVisible(getViewPart());
	if (fIsVisible) {
		installOnActiveEditor(page);
	}
}
 
@Override
public void init(IActionBars bars, IWorkbenchPage page) {
	fToggleBreadcrumbAction= new ToggleBreadcrumbAction(page);
	Iterator<RetargetAction> e= fPartListeners.iterator();
	while (e.hasNext())
		page.addPartListener(e.next());

	super.init(bars, page);

	bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, fTogglePresentation);
	bars.setGlobalActionHandler(IJavaEditorActionDefinitionIds.TOGGLE_MARK_OCCURRENCES, fToggleMarkOccurrencesAction);
	bars.setGlobalActionHandler(IJavaEditorActionDefinitionIds.TOGGLE_BREADCRUMB, fToggleBreadcrumbAction);
}
 
源代码10 项目: translationstudio8   文件: TerminologyViewPart.java
@Override
public void init(IViewSite site, IMemento memento) throws PartInitException {
	init(site);

	final IWorkbenchPage page = site.getPage();
	page.addPostSelectionListener(this);
	page.addPartListener(new PartAdapter2() {
		@Override
		public void partClosed(IWorkbenchPartReference partRef) {
			if (gridTable == null || gridTable.isDisposed()) {
				page.removePartListener(this); // 关闭视图后,移除此监听
			} else {
				if ("net.heartsome.cat.ts.ui.xliffeditor.nattable.editor".equals(partRef.getId())) {
					IEditorReference[] editorReferences = page.getEditorReferences();
					if (editorReferences.length == 0) { // 所有编辑器全部关闭的情况下。
						matcher.clearResources();
						firstAction.setEnabled(false);
						copyEnable.resetSelection();
						gridTable.removeAll();
					}
				}
			}
		}
	});
	site.getActionBars().getStatusLineManager()
			.setMessage(Messages.getString("view.TerminologyViewPart.statusLine"));
}
 
源代码11 项目: tmxeditor8   文件: TerminologyViewPart.java
@Override
public void init(IViewSite site, IMemento memento) throws PartInitException {
	init(site);

	final IWorkbenchPage page = site.getPage();
	page.addPostSelectionListener(this);
	page.addPartListener(new PartAdapter2() {
		@Override
		public void partClosed(IWorkbenchPartReference partRef) {
			if (gridTable == null || gridTable.isDisposed()) {
				page.removePartListener(this); // 关闭视图后,移除此监听
			} else {
				if ("net.heartsome.cat.ts.ui.xliffeditor.nattable.editor".equals(partRef.getId())) {
					IEditorReference[] editorReferences = page.getEditorReferences();
					if (editorReferences.length == 0) { // 所有编辑器全部关闭的情况下。
						matcher.clearResources();
						firstAction.setEnabled(false);
						copyEnable.resetSelection();
						gridTable.removeAll();
					}
				}
			}
		}
	});
	site.getActionBars().getStatusLineManager()
			.setMessage(Messages.getString("view.TerminologyViewPart.statusLine"));
}
 
源代码12 项目: e4macs   文件: CompletionMinibuffer.java
/**
 * @see com.mulgasoft.emacsplus.minibuffer.HistoryMinibuffer#addOtherListeners(IWorkbenchPage, ISourceViewer, StyledText)
 */
@Override
protected void addOtherListeners(IWorkbenchPage page, ISourceViewer viewer, StyledText widget) {
	if (page != null) {
		page.addPartListener(this);
	}
	super.addOtherListeners(page, viewer, widget);
}
 
源代码13 项目: bonita-studio   文件: CoolbarToolControl.java
private void loadContributions(IWorkbenchPage page) {
    contributions.stream().map(CustomToolItem::getContributionItem).filter(IPartListener.class::isInstance)
            .forEach(partListener -> page.removePartListener((IPartListener) partListener));
    contributions.clear();

    final IConfigurationElement[] elements = BonitaStudioExtensionRegistryManager.getInstance()
            .getConfigurationElements(
                    "org.bonitasoft.studio.coolbarContributionItem");
    if (elements.length >= MAX_CONTRIBUTION_SIZE) {
        throw new RuntimeException("Too many coolbar contributions defined");
    }
    for (int i = 0; i < MAX_CONTRIBUTION_SIZE; i++) {
        final IConfigurationElement element = findContributionForPosition(i, elements);
        if (element != null) {
            try {
                final IBonitaContributionItem item = (IBonitaContributionItem) element
                        .createExecutableExtension(CLASS);
                if (contributions.size() > i && item instanceof SeparatorCoolbarItem) {
                    final IBonitaContributionItem previousItem = contributions.get(i - 1).getContributionItem();
                    if (previousItem instanceof SeparatorCoolbarItem) {
                        item.setVisible(false);
                    }
                }
                if (item.isVisible()) {
                    if (item instanceof SaveCoolbarItem) {
                        page.addPartListener((IPartListener) item);
                        ((SaveCoolbarItem) item).partOpened(page.getActivePart());
                    }
                    contributions.add(new CustomToolItem(item));
                }
            } catch (final CoreException e) {
                BonitaStudioLog.error(e);
            }
        }
    }
}
 
源代码14 项目: xtext-eclipse   文件: OpenDocumentTracker.java
@Override
public void pageOpened(IWorkbenchPage page) {
	page.addPartListener(partListener);
}
 
public void pageOpened(IWorkbenchPage page) {
	page.addPartListener(this);
}
 
源代码16 项目: e4macs   文件: TecoRegister.java
public void addListener(IPartListener2 listener) {
	IWorkbenchPage page = EmacsPlusUtils.getWorkbenchPage(); 
	if (page != null) {
		page.addPartListener(listener);
	}
}