public void Execute(IActionContext context) { //----------------------------------------------------------------- // For several resource types which are considered "exclusive", we // automatically pass this type as the default resource type into // the view constructor. //----------------------------------------------------------------- string exclusiveType = null; string[] currentTabTypes = Core.TabManager.CurrentTab.GetResourceTypes(); if (currentTabTypes != null) { foreach (string type in currentTabTypes) { if (Core.ResourceTreeManager.AreViewsExclusive(type)) { exclusiveType = type; } } } //----------------------------------------------------------------- EditViewForm form = new EditViewForm(exclusiveType); if (form.ShowDialog(Core.MainWindow) == DialogResult.OK) { IResource res = Core.ResourceStore.FindUniqueResource(FilterManagerProps.ViewResName, "Name", form.HeadingText); if (context.SelectedResources.Count == 1 && context.SelectedResources[0].Type == FilterManagerProps.ViewFolderResName) { ResourceProxy proxy = new ResourceProxy(res); proxy.BeginUpdate(); proxy.SetProp("Parent", context.SelectedResources[0]); proxy.EndUpdate(); } else { Core.ResourceTreeManager.LinkToResourceRoot(res, 2); } Core.LeftSidebar.DefaultViewPane.SelectResource(res); } form.Dispose(); }
public override void Execute(IActionContext context) { IResource res = context.SelectedResources[0]; if (res.GetStringProp("DeepName") == Core.FilterRegistry.ViewNameForSearchResults) { SearchCtrl.ShowAdvancedSearchDialog(res); } else { EditViewForm form = new EditViewForm(res); if (form.ShowDialog(Core.MainWindow) == DialogResult.OK) { IResource view = Core.ResourceStore.FindUniqueResource(FilterManagerProps.ViewResName, Core.Props.Name, form.HeadingText); Core.UnreadManager.InvalidateUnreadCounter(view); Core.LeftSidebar.DefaultViewPane.SelectResource(view); } form.Dispose(); } }