public override void OnShowPackMonitorOverview(object sender, EventArgs e) { PackMonitorOverviewViewParameters viewParameters = null; bool openInNewWindow = false; string favoriteId = string.Empty; if (e is MenuEventArgs) { openInNewWindow = ((MenuEventArgs)e).OpenInNewWindow; string parameters = ((MenuEventArgs)e).Parameters; favoriteId = ((MenuEventArgs)e).MenuItemId; if (!string.IsNullOrEmpty(parameters)) { viewParameters = new PackMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is MenuItemExecutedEventArgs) { openInNewWindow = ((MenuItemExecutedEventArgs)e).OpenInNewWindow; string parameters = ((MenuItemExecutedEventArgs)e).MenuItem.Parameters; favoriteId = ((MenuItemExecutedEventArgs)e).MenuItem.Id; if (!string.IsNullOrEmpty(parameters)) { viewParameters = new PackMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is DataEventArgs <PackMonitorOverviewViewParameters> ) { viewParameters = ((DataEventArgs <PackMonitorOverviewViewParameters>)e).Data; } ControlledWorkItem <PackMonitorController> workItem = (from wi in WorkItem.WorkItems.FindByType <ControlledWorkItem <PackMonitorController> >() where wi.Items.Get <string>("ModuleId") == ShellInteractionService.ActiveModule.Id select wi).LastOrDefault(); if (workItem == null || openInNewWindow) { workItem = WorkItem.WorkItems.AddNew <ControlledWorkItem <PackMonitorController> >(); workItem.Items.Add(ShellInteractionService.ActiveModule.Id, "ModuleId"); workItem.Controller.Run(viewParameters, favoriteId); } else { workItem.Controller.Activate(viewParameters, favoriteId); } }
public void Activate(PackMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; if (packMonitorOverviewView != null && !string.IsNullOrEmpty(_favoriteId)) { UXSettingsService favoriteSettingsService = WorkItem.Items.AddNew <UXSettingsService>(_favoriteId); favoriteSettingsService.ContainerName = _favoriteId; favoriteSettingsService.AddProvider(packMonitorOverviewView, new PackMonitorControllerSettingsProvider()); favoriteSettingsService.LoadSettings(); WorkItem.Items.Remove(favoriteSettingsService); } Activate(parameters); }
public void Run(PackMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; Run(parameters, false); }