Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
            }
        }