public static void fillVMMenu(IMenuManager manager, VMTreeObject selection) { VMTreeObjectVMinGroup vminGroup = (VMTreeObjectVMinGroup) selection; if (selection.getParent().getName().equals(Constants.VM_GROUP_DEFAULT_NAME)) { MenuManager addtogroupMenu = new MenuManager("Ìí¼Óµ½..."); for (VMTreeObject group : vminGroup.getParent().getParent().getChildren()) { if (!group.getName().equals(Constants.VM_GROUP_DEFAULT_NAME)) { addtogroupMenu.add(new AddtoGroupAction(vminGroup, (VMTreeObjectGroup) group)); } } manager.add(addtogroupMenu); } else { manager.add(new ResetGroupAction(vminGroup)); } manager.add(new Separator()); VMTreeObjectVM vm = vminGroup.getVmObject(); VM.Record record = vm.getRecord(); Types.VmPowerState state = record.powerState; if (state.equals(Types.VmPowerState.RUNNING)) { manager.add(new ShutDownAction(vm)); manager.add(new RebootAction(vm)); } else { manager.add(new StartAction(vm)); } }
public static void fillVmListMenu(IMenuManager manager, List<VMTreeObject> list) { List<VMTreeObjectVMinGroup> vmList = new ArrayList<VMTreeObjectVMinGroup>(); boolean isDefault = true; boolean isNotDefault = true; for (VMTreeObject o : list) { if (o.getParent().getName().equals(Constants.VM_GROUP_DEFAULT_NAME)) { isNotDefault = false; } else { isDefault = false; } vmList.add((VMTreeObjectVMinGroup) o); } if (isDefault) { MenuManager addtogroupMenu = new MenuManager("Ìí¼Óµ½..."); for (VMTreeObject group : vmList.get(0).getParent().getParent().getChildren()) { if (!group.getName().equals(Constants.VM_GROUP_DEFAULT_NAME)) { addtogroupMenu.add(new AddtoGroupAction(vmList, (VMTreeObjectGroup) group)); } } manager.add(addtogroupMenu); return; } if (isNotDefault) { manager.add(new ResetGroupAction(vmList)); } }
public static void remove(VMTreeObject o) { final VMTreeObject shadow = o.getShadowObject(); if (shadow == null) { return; } if (shadow.getParent() != null) { shadow.getParent().getChildrenList().remove(shadow); } if (Constants.groupView != null) { Display display = PlatformUI.getWorkbench().getDisplay(); if (!display.isDisposed()) { Runnable runnable = new Runnable() { public void run() { Constants.groupView.getViewer().remove(shadow); Constants.groupView.getViewer().refresh(); } }; display.syncExec(runnable); } } }