SetMacros() private method

private SetMacros ( XSharpBuildMacros mc ) : void
mc XSharpBuildMacros
return void
示例#1
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (provider != null)
            {
                IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

                if (edSvc != null)
                {
                    if (_editorUI == null)
                    {
                        _editorUI = new XSharpMLEPropertyForm();
                    }

                    _editorUI.Text = context.PropertyDescriptor.DisplayName; // we can also use the Attributes property to pass in information via an attribute
                    _editorUI.PropertyText.Text = (string)value;
                    _editorUI.PropertyText.Select();
                    _editorUI.PropertyText.DeselectAll();
                    _editorUI.PropertyText.ClearUndo();

                    XBuildMacroCollection mc = new XBuildMacroCollection((ProjectNode)((SettingsPage)context.Instance).ProjectMgr);
                    _editorUI.SetMacros(mc);

                    DialogResult result = edSvc.ShowDialog(_editorUI);

                    if (result == DialogResult.OK)
                    {
                        value = _editorUI.PropertyText.Text;
                    }
                }
            }

            return(value);
        }