Ejemplo n.º 1
0
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            IDataFrameFilterFactory[] filters = value as IDataFrameFilterFactory[];

            if ((filters != null) && (provider != null))
            {
                IWindowsFormsEditorService service = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;

                if (service != null)
                {
                    Dictionary <string, Func <object> > typeMap = new Dictionary <string, Func <object> >();
                    typeMap["String"]       = () => new StringDataFrameFilterFactory();
                    typeMap["Binary"]       = () => new BinaryDataFrameFilterFactory();
                    typeMap["Regular Exp"]  = () => new RegexDataFrameFilterFactory();
                    typeMap["Select Count"] = () => new NodeCountDataFrameFilterFactory();

                    using (ObjectCollectionForm frm = new ObjectCollectionForm(filters, typeMap))
                    {
                        frm.Text = "DataFrame Filter Editor";
                        if (service.ShowDialog(frm) == DialogResult.OK)
                        {
                            value = frm.Objects.Cast <DataFrameFilterFactory>().ToArray();
                        }
                    }
                }
            }

            return(value);
        }
Ejemplo n.º 2
0
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            SequenceChoice[]          choices = value as SequenceChoice[];
            SequenceChoiceMemberEntry entry   = (SequenceChoiceMemberEntry)ParserUtils.GetCompatibleType(typeof(SequenceChoiceMemberEntry), context.Instance);

            if ((choices != null) && (provider != null) && (entry != null))
            {
                IWindowsFormsEditorService service = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;

                if (service != null)
                {
                    Dictionary <string, Func <object> > dict = new Dictionary <string, Func <object> >();

                    dict.Add("New Choice", () => new SequenceChoice(entry));

                    using (ObjectCollectionForm frm = new ObjectCollectionForm(choices, dict))
                    {
                        if (service.ShowDialog(frm) == DialogResult.OK)
                        {
                            value = frm.Objects.Cast <SequenceChoice>().ToArray();
                        }
                    }
                }
            }

            return(value);
        }