⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectionmonitor.java

📁 eclipse开发笔记
💻 JAVA
字号:
package rcpdev.contact.ui.views.common;

import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;

import rcpdev.contact.core.model.contact.Contact;
import rcpdev.contact.ui.editors.contact.ContactEditor;
import rcpdev.contact.ui.editors.contact.ContactEditorInput;

public class SelectionMonitor implements ISelectionChangedListener {

	public void selectionChanged(SelectionChangedEvent event) {
		if (event.getSelection().isEmpty())
			return;
		Contact contact = (Contact) ((IStructuredSelection) event
				.getSelection()).getFirstElement();
		IEditorInput input = new ContactEditorInput(contact);
		try {
			IWorkbenchPage page = PlatformUI.getWorkbench()
					.getActiveWorkbenchWindow().getActivePage();
			IEditorReference[] refs = page.getEditorReferences();
			for (int i = 0; i < refs.length; i++) {
				if (ContactEditor.ID.equals(refs[i].getId())) {
					ContactEditorInput existed = (ContactEditorInput) refs[i]
							.getEditorInput();
					if (contact.equals(existed.getPerson())) {
						page.activate(refs[i].getEditor(false));
						return;
					}
				}
			}
			page.openEditor(input, ContactEditor.ID);
		} catch (PartInitException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -