public override void Build(IMainWindow mainWindow, SelectedItemCollection selection, ContextMenuItemCollection items) { Host host = (Host)selection[0].XenObject; items.AddIfEnabled(new NewVMCommand(mainWindow, selection)); items.AddIfEnabled(new NewSRCommand(mainWindow, selection)); items.AddIfEnabled(new ImportCommand(mainWindow, selection)); items.AddSeparator(); items.AddIfEnabled(new AddSelectedHostToPoolToolStripMenuItem(mainWindow, selection, true)); items.AddSeparator(); items.AddIfEnabled(new HostMaintenanceModeCommand(mainWindow, selection)); items.AddSeparator(); items.AddIfEnabled(new RebootHostCommand(mainWindow, selection)); items.AddIfEnabled(new ShutDownHostCommand(mainWindow, selection)); items.AddIfEnabled(new PowerOnHostCommand(mainWindow, selection)); items.AddIfEnabled(new RestartToolstackCommand(mainWindow, selection)); items.AddSeparator(); items.AddIf(new InstallNewUpdateCommand(mainWindow), () => !Host.IsFullyPatched(host, ConnectionsManager.XenConnectionsCopy)); items.AddIfEnabled(new RemoveHostCrashDumpsCommand(mainWindow, selection)); items.AddSeparator(); items.AddIfEnabled(new DisconnectHostCommand(mainWindow, selection)); items.AddIfEnabled(new HostReconnectAsCommand(mainWindow, selection)); items.AddPluginItems(PluginContextMenu.server, selection); items.AddSeparator(); items.AddIfEnabled(new HostPropertiesCommand(mainWindow, selection)); }
public override void Build(IMainWindow mainWindow, SelectedItemCollection selection, ContextMenuItemCollection items) { Host host = (Host)selection[0].XenObject; items.AddIfEnabled(new NewVMCommand(mainWindow, selection)); items.AddIfEnabled(new NewSRCommand(mainWindow, selection)); items.AddIfEnabled(new ImportCommand(mainWindow, selection)); items.AddSeparator(); items.AddIfEnabled(new HostMaintenanceModeCommand(mainWindow, selection)); items.AddSeparator(); items.AddIfEnabled(new RebootHostCommand(mainWindow, selection)); items.AddIfEnabled(new ShutDownHostCommand(mainWindow, selection)); items.AddIfEnabled(new RestartToolstackCommand(mainWindow, selection)); items.AddSeparator(); items.AddIf(new InstallNewUpdateCommand(mainWindow), delegate { return(!Host.IsFullyPatched(host, ConnectionsManager.XenConnectionsCopy)); }); items.AddIfEnabled(new RemoveHostCrashDumpsCommand(mainWindow, selection)); if (host != Helpers.GetMaster(host.Connection)) { items.AddSeparator(); items.Add(new RemoveHostFromPoolCommand(mainWindow, selection)); } items.AddPluginItems(PluginContextMenu.server, selection); items.AddSeparator(); items.AddIfEnabled(new HostPropertiesCommand(mainWindow, selection)); }