package org.mongodb.meclipse.views.objects; import static org.mongodb.meclipse.MeclipsePlugin.getCaption; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.mongodb.meclipse.views.MeclipseView; /** * @author Flavio [FlaPer87] Percoco Premoli */ public class TreeObject implements IAdaptable { private String name; public MeclipseView view; private TreeParent parent; private IAction reflesh; private IAction showPropertiesView; public TreeObject(String name) { this.name = name; makeActions(); } private void makeActions() { reflesh = new Action(getCaption("treeObject.refresh")) { @Override public void run() { view.getViewer().refresh(TreeObject.this, true); } }; showPropertiesView = new Action(getCaption("treeObject.properties")) { @Override public void run() { try { PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage() .showView("org.eclipse.ui.views.PropertySheet"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; } public String getName() { return name; } public void setParent(TreeParent parent) { this.parent = parent; } public TreeParent getParent() { return parent; } @Override public String toString() { return getName(); } @Override @SuppressWarnings("rawtypes") public Object getAdapter(Class key) { return null; } public void doubleClickAction() { } public void fillContextMenu(IMenuManager manager) { manager.add(reflesh); manager.add(showPropertiesView); manager.add(new Separator()); // Other plug-ins can contribute there actions here manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } public void setViewer(MeclipseView view) { this.view = view; } }