public override void OnShowAssemblyMonitorOverview(object sender, EventArgs e) { AssemblyMonitorOverviewViewParameters 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 AssemblyMonitorOverviewViewParameters(); 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 AssemblyMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is DataEventArgs <AssemblyMonitorOverviewViewParameters> ) { viewParameters = ((DataEventArgs <AssemblyMonitorOverviewViewParameters>)e).Data; } ControlledWorkItem <AssemblyMonitorController> workItem = (from wi in WorkItem.WorkItems.FindByType <ControlledWorkItem <AssemblyMonitorController> >() where wi.Items.Get <string>("ModuleId") == ShellInteractionService.ActiveModule.Id select wi).LastOrDefault(); if (workItem == null || openInNewWindow) { workItem = WorkItem.WorkItems.AddNew <ControlledWorkItem <AssemblyMonitorController> >(); workItem.Items.Add(ShellInteractionService.ActiveModule.Id, "ModuleId"); workItem.Controller.Run(viewParameters, favoriteId); } else { workItem.Controller.Activate(viewParameters, favoriteId); } }
public void Activate(AssemblyMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; if (assemblyMonitorOverviewView != null && !string.IsNullOrEmpty(_favoriteId)) { UXSettingsService favoriteSettingsService = WorkItem.Items.AddNew <UXSettingsService>(_favoriteId); favoriteSettingsService.ContainerName = _favoriteId; favoriteSettingsService.AddProvider(assemblyMonitorOverviewView, new AssemblyMonitorControllerSettingsProvider()); favoriteSettingsService.LoadSettings(); WorkItem.Items.Remove(favoriteSettingsService); } Activate(parameters); }
public void Run(AssemblyMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; Run(parameters, false); }