public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     if (context.Instance is MpeControl)
     {
         try
         {
             MpeControl mpc = (MpeControl)context.Instance;
             IWindowsFormsEditorService editorService =
                 (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             MpeImageEditorForm selector = new MpeImageEditorForm((FileInfo)value, mpc.Parser, editorService);
             editorService.DropDownControl(selector);
             if (selector.SelectedImageName == null)
             {
                 MpeLog.Info("Clearing Image...");
                 return(null);
             }
             MpeLog.Info("Changing texture to [" + selector.SelectedImageName + "]");
             return(mpc.Parser.GetImageFile(selector.SelectedImageName));
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             MpeLog.Error(ee);
         }
     }
     return(base.EditValue(context, provider, value));
 }
Exemplo n.º 2
0
 private void ReleaseControl(MpeControl c)
 {
     MpeLog.Debug("Removing " + c.ToString());
     if (c is MpeContainer)
     {
         for (int i = 0; i < c.Controls.Count; i++)
         {
             if (c.Controls[i] is MpeControl)
             {
                 ReleaseControl((MpeControl)c.Controls[i]);
             }
         }
         c.ControlAdded   -= new ControlEventHandler(OnControlAdded);
         c.ControlRemoved -= new ControlEventHandler(OnControlRemoved);
         if (AllowAdditions)
         {
             c.DragDrop  -= new DragEventHandler(OnDragDrop);
             c.DragEnter -= new DragEventHandler(OnDragEnter);
         }
     }
     c.Click                -= new EventHandler(OnControlClick);
     c.MouseDown            -= new MouseEventHandler(OnControlMouseDown);
     c.StatusChanged        -= new MpeControl.StatusChangedHandler(OnControlStatusChanged);
     c.KeyUp                -= new KeyEventHandler(OnKeyUp);
     c.PropertyValueChanged -= new MpeControl.PropertyValueChangedHandler(OnControlPropertyValueChanged);
     c.IdentityChanged      -= new MpeControl.IdentityChangedHandler(OnControlIdentityChanged);
     ResourceList.Remove(c);
     MpeLog.Debug("Removed " + c.ToString());
 }
 public override void OnControlStatusChanged(MpeControl sender, bool modified)
 {
     if (sender == control)
     {
         base.OnControlStatusChanged(sender, modified);
     }
 }
 public override void Initialize()
 {
     try
     {
         AllowDrop       = false;
         screen          = (MpeScreen)Parser.CreateControl(MpeControlType.Screen);
         screen.Location = new Point(Mask.NodeSize, Mask.NodeSize);
         Controls.Add(screen);
         if (control.Type != MpeControlType.Screen)
         {
             screen.Controls.Add(control);
         }
         else
         {
             control = screen;
         }
         control.IsReference = true;
         control.Modified    = false;
         MpeLog.Info("Control designer intialized [" + control.Type.DisplayName + "]");
     }
     catch (MpeParserException mpe)
     {
         MpeLog.Debug(mpe);
         throw new DesignerException(mpe.Message);
     }
     catch (Exception e)
     {
         MpeLog.Debug(e);
         throw new DesignerException(e.Message);
     }
 }
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     if (context.Instance is MpeControl)
     {
         try
         {
             MpeControl mpc = (MpeControl)context.Instance;
             IWindowsFormsEditorService editorService =
                 (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             MpeTextAreaEditorForm selector = new MpeTextAreaEditorForm((string)value, editorService);
             editorService.DropDownControl(selector);
             if (selector.Result == DialogResult.Cancel)
             {
                 return(value);
             }
             return(selector.TextValue);
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             MpeLog.Error(ee);
         }
     }
     return(base.EditValue(context, provider, value));
 }
		public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) {
			if (context.Instance is MpeControl) {
				MpeControl mpc = (MpeControl)context.Instance;
				return new StandardValuesCollection(mpc.Parser.FontNames);
			} else {
				return base.GetStandardValues(context);
			}
		}
		public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
			if( value.GetType() == typeof(string) && context.Instance is MpeControl ) {
				MpeControl mpc = (MpeControl)context.Instance;
				return mpc.Parser.GetFont((string)value);
			} else {
				return base.ConvertFrom(context, culture, value);
			}
		}
Exemplo n.º 8
0
 public virtual void OnControlPropertyValueChanged(MpeControl sender, string property)
 {
     switch (property)
     {
     case "Id":
         UpdatePropertyManager();
         break;
     }
 }
Exemplo n.º 9
0
 public void OnPropertyValueChanged(MpeControl sender, string property)
 {
     if (sender != null && sender == SelectedControl)
     {
         if (property != null &&
             (property.Equals("Location") || property.Equals("Size") || property.Equals("LocationLocked") ||
              property.Equals("SizeLocked")))
         {
             Update();
         }
     }
 }
Exemplo n.º 10
0
 public virtual void OnControlIdentityChanged(MpeControl sender, IdentityEventArgs e)
 {
     if (ResourceList != null && ResourceList.IsUniqueId(e.New) == false)
     {
         e.Cancel  = true;
         e.Message = "The new Id is not unique and will therefore be reset.";
     }
     else
     {
         e.Cancel = false;
         MpeLog.Info("Control Id set to " + e.New);
     }
 }
Exemplo n.º 11
0
 private void ClearControlStatus(MpeControl c)
 {
     if (c != null)
     {
         c.Modified = false;
         if (c is MpeContainer)
         {
             for (int i = 0; i < c.Controls.Count; i++)
             {
                 if (c.Controls[i] is MpeControl)
                 {
                     ClearControlStatus((MpeControl)c.Controls[i]);
                 }
             }
         }
     }
 }
Exemplo n.º 12
0
 public override void OnControlStatusChanged(MpeControl sender, bool modified)
 {
     if (sender == screen)
     {
         base.OnControlStatusChanged(sender, modified);
     }
     else
     {
         if (modified == true && screen.Modified == false)
         {
             screen.Modified = true;
         }
         else if (modified == false && screen.Modified == true)
         {
             screen.Modified = false;
         }
     }
 }
Exemplo n.º 13
0
        public void OnDragDrop(object sender, DragEventArgs e)
        {
            MpeLog.Debug("OnDragDrop()");
            if (sender == null || !(sender is MpeContainer))
            {
                MpeLog.Warn("Could not locate parent MpeContainer... Cancelling DragDrop operation.");
                return;
            }
            MpeContainer mpc = (MpeContainer)sender;

            if (e.Data.GetDataPresent(typeof(MpeControlType)))
            {
                MpeControlType type = (MpeControlType)e.Data.GetData(typeof(MpeControlType));
                MpeLog.Debug("DragDrop: " + type.ToString());
                MpeControl c = Parser.CreateControl(type);
                c.Id       = ResourceList.GenerateUniqueId();
                c.Location = mpc.PointToClient(new Point(e.X, e.Y));
                mpc.Controls.Add(c);
                c.BringToFront();
                Mask.SelectedControl = c;
                UpdatePropertyManager();
            }
            else if (e.Data.GetDataPresent(typeof(FileInfo)))
            {
                FileInfo image = (FileInfo)e.Data.GetData(typeof(FileInfo));
                MpeImage mpi   = (MpeImage)Parser.CreateControl(MpeControlType.Image);
                mpi.Id = ResourceList.GenerateUniqueId();
                mpc.Controls.Add(mpi);
                mpi.Texture  = image;
                mpi.AutoSize = true;
                mpi.Location = mpc.PointToClient(new Point(e.X, e.Y));
                mpi.BringToFront();
                Mask.SelectedControl = mpi;
                UpdatePropertyManager();
            }
            else
            {
                MpeLog.Debug("Unknown DataType... Cancelling DragDrop");
                return;
            }
            Focus();
        }
Exemplo n.º 14
0
 private void OnDoubleClick(object sender, EventArgs e)
 {
     if (selectedNode == null || selectedNode.Parent == null)
     {
         return;
     }
     try
     {
         TreeNode parent = selectedNode.Parent;
         if (parent == screenNode)
         {
             mpe.AddDesigner(new MpeScreenDesigner(mpe, (MpeScreenInfo)selectedNode.Tag));
         }
         else if (parent == languageNode)
         {
             mpe.AddDesigner(
                 new MpeStringDesigner(mpe, Parser.GetStringTable("English"), (MpeStringTable)selectedNode.Tag));
         }
         else if (parent == imageNode)
         {
             mpe.AddDesigner(new MpeImageDesigner(mpe, (FileInfo)selectedNode.Tag));
         }
         else if (parent == controlNode)
         {
             MpeControl c = Parser.CreateControl((MpeControlType)selectedNode.Tag);
             mpe.AddDesigner(new MpeControlDesigner(mpe, c));
         }
         else if (parent == fontNode)
         {
             MpeFont font = new MpeFont(Parser.GetFont(selectedNode.Text));
             mpe.AddDesigner(new FontDesigner(mpe, font));
         }
     }
     catch (Exception ee)
     {
         MpeLog.Debug(ee);
         MpeLog.Error(ee);
     }
 }
Exemplo n.º 15
0
 private void PrepareControl(MpeControl c)
 {
     if (c != null && c.Embedded == false)
     {
         MpeLog.Debug("Preparing " + c.ToString());
         ResourceList.Add(c);
         c.MpeScreen             = screen;
         c.Click                += new EventHandler(OnControlClick);
         c.MouseDown            += new MouseEventHandler(OnControlMouseDown);
         c.StatusChanged        += new MpeControl.StatusChangedHandler(OnControlStatusChanged);
         c.KeyUp                += new KeyEventHandler(OnKeyUp);
         c.IdentityChanged      += new MpeControl.IdentityChangedHandler(OnControlIdentityChanged);
         c.PropertyValueChanged += new MpeControl.PropertyValueChangedHandler(OnControlPropertyValueChanged);
         if (c is MpeContainer)
         {
             c.ControlAdded   += new ControlEventHandler(OnControlAdded);
             c.ControlRemoved += new ControlEventHandler(OnControlRemoved);
             if (AllowAdditions)
             {
                 c.DragDrop  += new DragEventHandler(OnDragDrop);
                 c.DragEnter += new DragEventHandler(OnDragEnter);
                 MpeLog.Debug("DragDrop enabled");
             }
             for (int i = 0; i < c.Controls.Count; i++)
             {
                 if (c.Controls[i] is MpeControl)
                 {
                     PrepareControl((MpeControl)c.Controls[i]);
                 }
             }
         }
     }
     else if (c != null && c.Embedded == true)
     {
         MpeLog.Debug("Preparing Embedded " + c.ToString());
         c.MpeScreen = screen;
     }
     MpeLog.Debug("Prepared " + c.ToString());
 }
Exemplo n.º 16
0
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     if (context.Instance is MpeControl)
     {
         try
         {
             MpeControl mpc = (MpeControl)context.Instance;
             IWindowsFormsEditorService editorService =
                 (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             MpeStringEditorForm selector = new MpeStringEditorForm((string)value, mpc.Parser, editorService);
             editorService.DropDownControl(selector);
             return(selector.SelectedValue);
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             MpeLog.Error(ee);
         }
     }
     else if (context.Instance is MpeItem)
     {
         try
         {
             IWindowsFormsEditorService editorService =
                 (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             MpeStringEditorForm selector =
                 new MpeStringEditorForm((string)value, MediaPortalEditor.Global.Parser, editorService);
             editorService.DropDownControl(selector);
             return(selector.SelectedValue);
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             MpeLog.Error(ee);
         }
     }
     return(base.EditValue(context, provider, value));
 }
Exemplo n.º 17
0
 public virtual void CutControl()
 {
     if (AllowDeletions)
     {
         if (mask.SelectedControl != screen && mask.SelectedControl.MpeParent != null)
         {
             try
             {
                 MpeControl   control = mask.SelectedControl;
                 MpeContainer parent  = control.MpeParent;
                 parent.Controls.Remove(control);
                 mpe.Clipboard        = control;
                 mask.SelectedControl = null;
                 UpdatePropertyManager();
             }
             catch (Exception ee)
             {
                 MpeLog.Debug(ee);
                 MpeLog.Error(ee);
             }
         }
     }
 }
Exemplo n.º 18
0
 public virtual void PasteControl()
 {
     if (mask.SelectedControl is MpeContainer)
     {
         if (mpe.Clipboard != null && mpe.Clipboard is MpeControl)
         {
             try
             {
                 MpeControl c = ((MpeControl)mpe.Clipboard).Copy();
                 c.Left += mask.GridSize.Width;
                 c.Top  += mask.GridSize.Height;
                 mask.SelectedControl.Controls.Add(c);
                 mask.SelectedControl = c;
                 UpdatePropertyManager();
                 MpeLog.Info("Pasted control...");
             }
             catch (Exception ee)
             {
                 MpeLog.Debug(ee);
                 MpeLog.Error(ee);
             }
         }
     }
 }
Exemplo n.º 19
0
 protected virtual void UpdateContextMenu(MpeControl c)
 {
     //
 }
 public MpeControlDesigner(MediaPortalEditor mpe, MpeControl control) : base(mpe)
 {
     this.control = control;
 }
Exemplo n.º 21
0
 protected void AddControl(MpeControl c)
 {
     Controls.Add(c);
 }
Exemplo n.º 22
0
 protected void RemoveControl(MpeControl c)
 {
     Controls.Remove(c);
 }
Exemplo n.º 23
0
        public void OnMenuSelection(MenuCommand command)
        {
            if (command == null || command.Enabled == false || mask.SelectedControl == null)
            {
                return;
            }
            switch (command.Text)
            {
            case "Parent":
                mask.SelectedControl = mask.SelectedControl.MpeParent;
                UpdatePropertyManager();
                break;

            case "Send To Back":
                mask.SelectedControl.SendToBack();
                break;

            case "Bring To Front":
                mask.SelectedControl.BringToFront();
                break;

            case "Cut":
                CutControl();
                break;

            case "Copy":
                CopyControl();
                break;

            case "Paste":
                PasteControl();
                break;

            case "Delete":
                if (AllowDeletions)
                {
                    if (mask.SelectedControl.MpeParent != null)
                    {
                        try
                        {
                            MpeControl   control = mask.SelectedControl;
                            MpeContainer parent  = control.MpeParent;
                            parent.Controls.Remove(control);
                            mask.SelectedControl = null;
                            UpdatePropertyManager();
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                    }
                }
                break;

            case "Properties":
                mpe.FocusPropertyManager();
                break;

            case "Test":
                //mask2.SelectedControl = mask.SelectedControl;
                break;
            }
        }
 public override void OnControlStatusChanged(MpeControl sender, bool modified)
 {
     //
 }
Exemplo n.º 25
0
 public virtual void OnControlStatusChanged(MpeControl sender, bool modified)
 {
     mpe.ToggleDesignerStatus(ResourceName, modified);
 }