public MpeTagEditorForm(MpeTag tag, IWindowsFormsEditorService service)
 {
     InitializeComponent();
     editorService = service;
     tbName.Text   = tag.Name;
     tbValue.Text  = tag.Value;
     result        = DialogResult.Cancel;
 }
Ejemplo n.º 2
0
 public MpeTagEditorForm(MpeTag tag, IWindowsFormsEditorService service)
 {
   InitializeComponent();
   editorService = service;
   tbName.Text = tag.Name;
   tbValue.Text = tag.Value;
   result = DialogResult.Cancel;
 }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (context.Instance is MpeTagCollection)
            {
                MpeTagCollection tags = (MpeTagCollection)context.Instance;
                MpeTag           tag  = tags[context.PropertyDescriptor.DisplayName];
                if (tag != null)
                {
                    IWindowsFormsEditorService editorService =
                        (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                    MpeTagEditorForm form = new MpeTagEditorForm(tag, editorService);
                    editorService.DropDownControl(form);
                    switch (form.Result)
                    {
                    case DialogResult.OK:
                        if (tag.Name == form.TagName && tag.Name != "-")
                        {
                            tag.Value = form.TagValue;
                            MpeLog.Info("Tag Updated! Name = " + tag.Name + " Value = " + tag.Value);
                        }
                        else if (tag.Name == form.TagName)
                        {
                            MpeLog.Warn("Invalid tag name specified");
                        }
                        else
                        {
                            tags.Remove(tag.Name);
                            tag.Name  = form.TagName;
                            tag.Value = form.TagValue;
                            tags.Add(tag);
                            MpeLog.Info("Tag Updated! Name = [" + tag.Name + "] Value = [" + tag.Value + "]");
                        }
                        break;

                    case DialogResult.Abort:
                        tags.Remove(tag.Name);
                        MpeLog.Info("Tag Removed! Name = [" + tag.Name + "[ Value = [" + tag.Value + "]");
                        break;
                    }
                    return(tag);
                }
            }
            return(base.EditValue(context, provider, value));
        }