Example #1
0
        public IResource   ShowEditViewForm(string name, string[] resTypes,
                                            IResource[][] conditions, IResource[] exceptions)
        {
            IResource    result = null;
            EditViewForm form   = new EditViewForm(name, resTypes, conditions, exceptions);

            if (form.ShowDialog(Core.MainWindow) == DialogResult.OK)
            {
                result = form.ResultResource;
            }
            return(result);
        }
Example #2
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();
        }
Example #3
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();
            }
        }
Example #4
0
        public IResource   ShowEditResourceForm(IResource res)
        {
            #region Preconditions
            if (res == null)
            {
                throw new ArgumentNullException("res", "FilteringFormsManager -- Input resource is NULL");
            }

            if (res.Type != FilterManagerProps.ViewResName &&
                res.Type != FilterManagerProps.RuleResName &&
                res.Type != FilterManagerProps.ViewCompositeResName)
            {
                throw new ArgumentException("FilteringFormsManager -- Input resource has inappropriate type [" + res.Type + "]");
            }
            #endregion Preconditions

            Form      form;
            IResource result = null;
            String    name   = res.GetStringProp(Core.Props.Name);
            if (res.HasProp("IsActionFilter"))
            {
                form = new EditRuleForm(name);
            }
            else
            if (res.HasProp("IsFormattingFilter"))
            {
                form = new EditFormattingRuleForm(name);
            }
            else
            if (res.HasProp("IsTrayIconFilter"))
            {
                form = new EditTrayIconRuleForm(name);
            }
            else
            if (res.HasProp("IsExpirationFilter"))
            {
                if (IsSimpleExpirationRule(res))
                {
                    form = new EditExpirationRuleSimpleForm(res);
                }
                else
                {
                    form = new EditExpirationRuleForm(name);
                }
            }
            else
            {
                form = new EditViewForm(name);
            }

            if (form.ShowDialog(Core.MainWindow) == DialogResult.OK)
            {
                if (form is EditExpirationRuleSimpleForm)
                {
                    result = (form as EditExpirationRuleSimpleForm).ResultResource;
                }
                else
                {
                    result = (form as ViewCommonDialogBase).ResultResource;
                }
            }

            form.Dispose();

            return(result);
        }