public override void Initialize()
 {
     try
     {
         AllowDrop = false;
         PropertyManager.HideResourceList();
         if (font != null)
         {
             screen                       = (MpeScreen)Parser.GetControl(MpeControlType.Screen);
             viewer                       = new MpeFontViewer(font, screen.TextureBack);
             viewer.Location              = new Point(Mask.NodeSize, Mask.NodeSize);
             viewer.SelectedIndexChanged += new MpeFontViewer.SelectedIndexChangedHandler(OnViewerIndexChanged);
             viewer.Modified              = false;
             Controls.Add(viewer);
         }
         MpeLog.Info("Font designer initialized [" + ResourceName + "]");
     }
     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));
             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));
 }
 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 void Resume()
 {
     base.Resume();
     PropertyManager.SelectedResource = viewer;
     PropertyManager.HideResourceList();
     MpeLog.Info("Font designer resumed [" + ResourceName + "]");
 }
        private void OnPanelClick(object sender, StatusBarPanelClickEventArgs e)
        {
            if (e.StatusBarPanel == iconPanel && sender == this)
            {
                MenuCommand c = menu.TrackPopup(PointToScreen(new Point(0, -90)), false);
                if (c != null)
                {
                    switch (c.Text)
                    {
                    case "Debug":
                        MpeLog.Threshold = MpeLogLevel.Debug;
                        MpeLog.Debug("Log Level set to Debug");
                        break;

                    case "Info":
                        MpeLog.Threshold = MpeLogLevel.Info;
                        MpeLog.Info("Log Level set to Info");
                        break;

                    case "Warn":
                        MpeLog.Threshold = MpeLogLevel.Warn;
                        MpeLog.Warn("Log Level set to Warn");
                        break;

                    case "Error":
                        MpeLog.Threshold = MpeLogLevel.Error;
                        MpeLog.Error("Log Level set to Error");
                        break;
                    }
                }
            }
        }
Beispiel #6
0
 public virtual void CopyControl()
 {
     if (mask.SelectedControl != null)
     {
         mpe.Clipboard = mask.SelectedControl;
         MpeLog.Info("Copied control...");
     }
 }
 public override void Destroy()
 {
     base.Destroy();
     if (screen != null)
     {
         screen.Dispose();
     }
     MpeLog.Info("Image designer destroyed [" + ResourceName + "]");
 }
 protected override void OnNotifyMessage(Message m)
 {
     if (m.Msg == (int)Msgs.WM_CONTEXTMENU)
     {
         short x = (short)(m.LParam.ToInt32());
         short y = (short)(m.LParam.ToInt32() >> 16);
         MpeLog.Info(x.ToString() + ", " + y.ToString());
     }
     base.OnNotifyMessage(m);
 }
 public override void Save()
 {
     try
     {
         Parser.SaveFont(font);
         viewer.Modified = false;
         MpeLog.Info("Font designer saved [" + ResourceName + "]");
     }
     catch (MpeParserException mpe)
     {
         throw new DesignerException(mpe.Message, mpe);
     }
 }
 public override void Save()
 {
     try
     {
         Parser.SaveControl(control);
         control.Modified = false;
         MpeLog.Info("Control designer saved [" + control.Type.DisplayName + "]");
     }
     catch (MpeParserException mpe)
     {
         throw new DesignerException(mpe.Message, mpe);
     }
 }
Beispiel #11
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);
     }
 }
 public override void Destroy()
 {
     base.Destroy();
     if (screen != null)
     {
         screen.Destroy();
     }
     if (viewer != null)
     {
         viewer.Destroy();
     }
     MpeLog.Info("Font designer destroyed [" + ResourceName + "]");
 }
        public override void Initialize()
        {
            screen          = (MpeScreen)Parser.CreateControl(MpeControlType.Screen);
            screen.Location = new Point(Mask.NodeSize, Mask.NodeSize);

            Controls.Add(screen);

            MpeImageViewer image = new MpeImageViewer();

            image.Id      = 1;
            image.Texture = imageFile;
            screen.Controls.Add(image);
            MpeLog.Info("Image designer initialized [" + ResourceName + "]");
        }
Beispiel #14
0
 public override void Save()
 {
     try
     {
         Parser.SaveScreen(screen, screenInfo.File);
         ClearControlStatus(screen);
         MpeLog.Info("Screen designer saved [" + ResourceName + "]");
     }
     catch (MpeParserException mpe)
     {
         MessageBox.Show(this, "Error Saving File: " + mpe.Message, "Save Error", MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
         throw new DesignerException(mpe.Message, mpe);
     }
 }
Beispiel #15
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (context != null && context.Instance != null)
            {
                MpeLog.Info("Context: " + context.Instance.GetType().ToString());
            }
            if (value != null)
            {
                MpeLog.Info("Value: " + value.ToString());
            }
            FolderBrowserDialog folderBrowser = new FolderBrowserDialog();

            folderBrowser.ShowDialog();
            return(folderBrowser.SelectedPath);
        }
Beispiel #16
0
 public override void Initialize()
 {
     try
     {
         screen = Parser.CreateScreen(screenInfo.File, Mask.NodeSize, Mask.NodeSize, MpeScreenSize.PAL);
         AddControl(screen);
         ClearControlStatus(screen);
         MpeLog.Info("Screen designer initialized [" + ResourceName + "]");
     }
     catch (MpeParserException e)
     {
         MpeLog.Debug(e);
         MpeLog.Error(e);
         throw new DesignerException(e.Message);
     }
 }
        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));
        }
Beispiel #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);
             }
         }
     }
 }
Beispiel #19
0
        protected void OnMenuSelection(MenuCommand c)
        {
            if (c == null)
            {
                return;
            }
            if (selectedNode == null || selectedNode.Parent == null)
            {
                return;
            }
            switch (c.Text)
            {
            case "Delete":
                if (mpe.IsResourceOpen(selectedNode.Text))
                {
                    MpeLog.Warn("The resource file cannot be deleted because it is currently being editted.");
                    MessageBox.Show(this, "The resource file cannot be deleted because it is currently being editted.",
                                    "Error Deleting File", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                if (selectedNode.Parent == imageNode)
                {
                    DialogResult result =
                        MessageBox.Show(this,
                                        "Are you sure you want to permanently delete the selected image?\n\n" + selectedNode.Text,
                                        "Delete Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.Yes)
                    {
                        try
                        {
                            Parser.DeleteImageFile(selectedNode.Text);
                            MpeLog.Info("Deleted image file [" + selectedNode.Text + "]");
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                        finally
                        {
                            LoadImages();
                        }
                    }
                }
                else if (selectedNode.Parent == screenNode)
                {
                    DialogResult result =
                        MessageBox.Show(this,
                                        "Are you sure you want to permanently delete the selected screen?\n\n" + selectedNode.Text,
                                        "Delete Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.Yes)
                    {
                        try
                        {
                            Parser.DeleteScreenFile(selectedNode.Text);
                            MpeLog.Info("Deleted screen file [" + selectedNode.Text + "]");
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                        finally
                        {
                            LoadScreens();
                        }
                    }
                }
                else if (selectedNode.Parent == fontNode)
                {
                    DialogResult result =
                        MessageBox.Show(this,
                                        "Are you sure you want to permanently delete the selected font?\n\n" + selectedNode.Text,
                                        "Delete Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.Yes)
                    {
                        try
                        {
                            Parser.DeleteFont(selectedNode.Text);
                            MpeLog.Info("Deleted font [" + selectedNode.Text + "]");
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                        finally
                        {
                            LoadFonts();
                        }
                    }
                }
                break;

            case "Rename":
                if (selectedNode.Parent == imageNode || selectedNode.Parent == screenNode || selectedNode.Parent == fontNode)
                {
                    skinTree.SelectedNode = selectedNode;
                    skinTree.LabelEdit    = true;
                    if (selectedNode.IsEditing == false)
                    {
                        selectedNode.BeginEdit();
                    }
                }
                break;

            case "Add Existing...":
                if (selectedNode == imageNode)
                {
                    openFileDialog.Title  = "Add Existing Image";
                    openFileDialog.Filter = "Image Files (*.png;*.jpg;*.gif;*.bmp)|*.PNG;*.JPG;*.GIF;*.BMP";
                    DialogResult result = openFileDialog.ShowDialog(this);
                    if (result == DialogResult.OK)
                    {
                        try
                        {
                            FileInfo newImageFile = Parser.AddImageFile(new FileInfo(openFileDialog.FileName));
                            LoadImages();
                            for (int i = 0; i < imageNode.Nodes.Count; i++)
                            {
                                if (imageNode.Nodes[i].Text.Equals(newImageFile.Name))
                                {
                                    selectedNode          = imageNode.Nodes[i];
                                    skinTree.SelectedNode = imageNode.Nodes[i];
                                    skinTree.LabelEdit    = true;
                                    selectedNode.BeginEdit();
                                    break;
                                }
                            }
                            MpeLog.Info("Added image file [" + newImageFile.FullName + "]");
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                    }
                }
                else if (selectedNode == screenNode)
                {
                    openFileDialog.Title  = "Add Existing Screen";
                    openFileDialog.Filter = "Screen Files (*.xml)|*.XML";
                    DialogResult result = openFileDialog.ShowDialog(this);
                    if (result == DialogResult.OK)
                    {
                        try
                        {
                            FileInfo newScreenFile = Parser.AddScreenFile(new FileInfo(openFileDialog.FileName));
                            LoadScreens();
                            for (int i = 0; i < screenNode.Nodes.Count; i++)
                            {
                                if (screenNode.Nodes[i].Text.Equals(newScreenFile.Name))
                                {
                                    selectedNode          = screenNode.Nodes[i];
                                    skinTree.SelectedNode = screenNode.Nodes[i];
                                    skinTree.LabelEdit    = true;
                                    selectedNode.BeginEdit();
                                    break;
                                }
                            }
                            MpeLog.Info("Added screen file [" + openFileDialog.FileName + "]");
                        }
                        catch (Exception ee)
                        {
                            MpeLog.Debug(ee);
                            MpeLog.Error(ee);
                        }
                    }
                }
                break;

            case "Add New...":
                if (selectedNode == screenNode)
                {
                    try
                    {
                        FileInfo f = Parser.AddScreenFile();
                        MpeLog.Info("Added new screen file [" + f.Name + "]");
                        LoadScreens();
                        for (int i = 0; i < screenNode.Nodes.Count; i++)
                        {
                            if (screenNode.Nodes[i].Text.Equals(f.Name))
                            {
                                skinTree.SelectedNode = screenNode.Nodes[i];
                                selectedNode          = screenNode.Nodes[i];
                                skinTree.LabelEdit    = true;
                                selectedNode.BeginEdit();
                                return;
                            }
                        }
                    }
                    catch (Exception ee)
                    {
                        MpeLog.Debug(ee);
                        MpeLog.Error(ee);
                    }
                }
                else if (selectedNode == fontNode)
                {
                    try
                    {
                        string s = Parser.AddFont();
                        MpeLog.Info("Added new font [" + s + "]");
                        LoadFonts();
                        for (int i = 0; i < fontNode.Nodes.Count; i++)
                        {
                            if (fontNode.Nodes[i].Text.Equals(s))
                            {
                                skinTree.SelectedNode = fontNode.Nodes[i];
                                selectedNode          = fontNode.Nodes[i];
                                skinTree.LabelEdit    = true;
                                selectedNode.BeginEdit();
                                return;
                            }
                        }
                    }
                    catch (Exception ee)
                    {
                        MpeLog.Debug(ee);
                        MpeLog.Error(ee);
                    }
                }
                break;

            case "Window":
                if (mpe.IsResourceOpen(selectedNode.Text))
                {
                    MpeLog.Warn("The screen type cannot be modified because it is currently being editted.");
                    MessageBox.Show(this, "The screen type cannot be modified because it is currently being editted..",
                                    "Error Modifying Screen Type", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (DialogResult.Yes ==
                        MessageBox.Show(this, "Are you sure you want to change this screen's type?", "Screen Type Confirmation",
                                        MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        MpeScreenInfo info = Parser.ModifyScreenType(selectedNode.Text, MpeScreenType.Window);
                        selectedNode.Tag                = info;
                        selectedNode.ImageIndex         = 6;
                        selectedNode.SelectedImageIndex = 6;
                    }
                }
                break;

            case "Dialog":
                if (mpe.IsResourceOpen(selectedNode.Text))
                {
                    MpeLog.Warn("The screen type cannot be modified because it is currently being editted.");
                    MessageBox.Show(this, "The screen type cannot be modified because it is currently being editted..",
                                    "Error Modifying Screen Type", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (DialogResult.Yes ==
                        MessageBox.Show(this, "Are you sure you want to change this screen's type?", "Screen Type Confirmation",
                                        MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        MpeScreenInfo info = Parser.ModifyScreenType(selectedNode.Text, MpeScreenType.Dialog);
                        selectedNode.Tag                = info;
                        selectedNode.ImageIndex         = 7;
                        selectedNode.SelectedImageIndex = 7;
                    }
                }
                break;

            case "OnScreenDisplay":
                if (mpe.IsResourceOpen(selectedNode.Text))
                {
                    MpeLog.Warn("The screen type cannot be modified because it is currently being editted.");
                    MessageBox.Show(this, "The screen type cannot be modified because it is currently being editted..",
                                    "Error Modifying Screen Type", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (DialogResult.Yes ==
                        MessageBox.Show(this, "Are you sure you want to change this screen's type?", "Screen Type Confirmation",
                                        MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        MpeScreenInfo info = Parser.ModifyScreenType(selectedNode.Text, MpeScreenType.OnScreenDisplay);
                        selectedNode.Tag                = info;
                        selectedNode.ImageIndex         = 8;
                        selectedNode.SelectedImageIndex = 8;
                    }
                }
                break;
            }
        }
Beispiel #20
0
 private void OnAfterLabelEdit(object sender, NodeLabelEditEventArgs e)
 {
     if (e.Node == null || e.Label == null)
     {
         return;
     }
     if (e.Node.Parent == imageNode)
     {
         int    i1 = e.Node.Text.LastIndexOf(".");
         string s1 = (i1 > 0) ? e.Node.Text.Substring(i1) : "";
         int    i2 = e.Label.LastIndexOf(".");
         string s2 = (i2 > 0) ? e.Label.Substring(i2) : "";
         if (s1.ToLower().Equals(s2.ToLower()) == false)
         {
             MessageBox.Show(this, "You cannot change an image file's extension.", "Error Renaming File",
                             MessageBoxButtons.OK, MessageBoxIcon.Warning);
             e.CancelEdit = true;
             e.Node.BeginEdit();
             return;
         }
         try
         {
             FileInfo f = Parser.RenameImageFile(e.Node.Text, e.Label);
             e.Node.EndEdit(false);
             e.Node.Tag = f;
             MpeLog.Info("Renamed image file from [" + e.Node.Text + "] to [" + e.Label + "]");
             skinTree.LabelEdit = false;
             return;
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             if (ee.Message.IndexOf("being used by another process") > 0)
             {
                 MpeLog.Warn("The image file cannot be renamed because it is locked by another process.");
                 MessageBox.Show(this,
                                 "The image cannot be renamed because it is locked by another process.\n\nIf the image is currently open inside the MediaPortal Editor, please close the image, and try again.",
                                 "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
             else if (ee.Message.IndexOf("already exists") > 0)
             {
                 MpeLog.Warn("An image file with the name [" + e.Label + "] already exists.");
                 MessageBox.Show(this, "An image file with the name \"" + e.Label + "\" already exists.",
                                 "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
             else
             {
                 MpeLog.Error(ee);
                 MessageBox.Show(this, ee.Message, "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         e.CancelEdit = true;
         e.Node.EndEdit(true);
     }
     else if (e.Node.Parent == screenNode)
     {
         if (e.Label.ToLower().EndsWith(".xml") == false)
         {
             MessageBox.Show(this, "You cannot change a screen file's extension.", "Error Renaming File",
                             MessageBoxButtons.OK, MessageBoxIcon.Warning);
             e.CancelEdit = true;
             e.Node.BeginEdit();
             return;
         }
         try
         {
             MpeScreenInfo info = Parser.RenameScreenFile(e.Node.Text, e.Label);
             e.Node.EndEdit(false);
             e.Node.Tag = info;
             MpeLog.Info("Renamed screen file from [" + e.Node.Text + "] to [" + e.Label + "]");
             skinTree.LabelEdit = false;
             return;
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             if (ee.Message.IndexOf("being used by another process") > 0)
             {
                 MpeLog.Warn("The screen file cannot be renamed because it is locked by another process.");
                 MessageBox.Show(this,
                                 "The screen cannot be renamed because it is locked by another process.\n\nIf the screen is currently open inside the MediaPortal Editor, please close the screen, and try again.",
                                 "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
             else if (ee.Message.IndexOf("already exists") > 0)
             {
                 MpeLog.Warn("A screen file with the name [" + e.Label + "] already exists.");
                 MessageBox.Show(this, "A screen file with the name \"" + e.Label + "\" already exists.",
                                 "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
             else
             {
                 MpeLog.Error(ee);
                 MessageBox.Show(this, ee.Message, "Error Renaming File", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         e.CancelEdit = true;
         e.Node.EndEdit(true);
     }
     else if (e.Node.Parent == fontNode)
     {
         try
         {
             Parser.RenameFont(e.Node.Text, e.Label);
             e.Node.EndEdit(false);
             e.Node.Tag = Parser.GetFont(e.Label);
             MpeLog.Info("Renamed font from [" + e.Node.Text + "] to [" + e.Label + "]");
             skinTree.LabelEdit = false;
             return;
         }
         catch (Exception ee)
         {
             MpeLog.Debug(ee);
             if (ee.Message.IndexOf("already exists") > 0)
             {
                 MpeLog.Warn("A font with the name [" + e.Label + "] already exists.");
                 MessageBox.Show(this, "A font with the name \"" + e.Label + "\" already exists.", "Error Renaming File",
                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
             else
             {
                 MpeLog.Error(ee);
                 MessageBox.Show(this, ee.Message, "Error Renaming Font", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         e.CancelEdit = true;
         e.Node.EndEdit(true);
     }
     skinTree.LabelEdit = false;
 }
        public override void Load(XPathNodeIterator iterator, MpeParser parser)
        {
            MpeLog.Debug("MpeGroup.Load()");
            base.Load(iterator, parser);
            this.parser = parser;
            //Animation = parser.GetAnimation(iterator, "animation", Animation);
            //tags.Remove("animation");

            // Mpe Specific Tags
            bool firstLoad = false;

            if (parser.GetString(iterator, "mpe/layout", null) == null)
            {
                MpeLog.Debug("This is a group that has never been opened with MPE!");
                firstLoad = true;
                Left      = 0;
                Top       = 0;
            }
            LayoutStyle = parser.GetLayout(iterator, "mpe/layout", LayoutStyle);
            Spring      = parser.GetBoolean(iterator, "mpe/spring", Spring);
            Spacing     = parser.GetInt(iterator, "mpe/spacing", Spacing);
            Padding     = parser.GetPadding(iterator, "mpe/padding", Padding);
            // Child Controls
            XPathNodeIterator i = iterator.Current.Select("control");
            bool firstControl   = true;
            int  x = int.MaxValue;
            int  y = int.MaxValue;
            int  r = 0;
            int  b = 0;

            while (i.MoveNext())
            {
                XPathNodeIterator typeIterator = i.Current.SelectChildren("type", "");
                if (typeIterator.MoveNext())
                {
                    MpeControlType ctype = MpeControlType.Create(typeIterator.Current.Value);
                    if (firstControl && ctype == MpeControlType.Image)
                    {
                        firstControl = false;
                        backImage.Load(i, parser);
                    }
                    else
                    {
                        MpeControl c = parser.CreateControl(ctype);
                        Controls.Add(c);
                        c.Load(i, parser);
                        c.BringToFront();
                        if (firstLoad)
                        {
                            if (c.Left < x)
                            {
                                x = c.Left;
                            }
                            if (c.Top < y)
                            {
                                y = c.Top;
                            }
                            if ((c.Left + c.Width) > r)
                            {
                                r = c.Left + c.Width;
                            }
                            if ((c.Top + c.Height) > b)
                            {
                                b = c.Top + c.Height;
                            }
                        }
                    }
                }
            }
            if (firstLoad)
            {
                MpeLog.Info("x=" + x + " y=" + y);
                Left = x - 4;
                Top  = y - 4;
                for (int a = 0; a < Controls.Count; a++)
                {
                    if (Controls[a] is MpeControl)
                    {
                        Controls[a].Left -= x - 4;
                        Controls[a].Top  -= y - 4;
                    }
                }
                Width  = r - x + 8;
                Height = b - y + 8;
            }

            if (Spring)
            {
                Width  = parser.GetInt(iterator, "width", Width);
                Height = parser.GetInt(iterator, "height", Height);
            }
            Modified = false;
        }
 public MpePropertyGrid()
 {
     MpeLog.Info("MpePropertyGrid()");
     SetStyle(ControlStyles.EnableNotifyMessage, true);
 }
Beispiel #23
0
 public override void Pause()
 {
     base.Pause();
     MpeLog.Info("Screen designer paused [" + ResourceName + "]");
 }
Beispiel #24
0
 public override void Resume()
 {
     base.Resume();
     MpeLog.Info("Screen designer resumed [" + ResourceName + "]");
 }
Beispiel #25
0
 public override void Destroy()
 {
     base.Destroy();
     MpeLog.Info("Screen designer destroyed [" + ResourceName + "]");
 }
 public override void Cancel()
 {
     base.Cancel();
     MpeLog.Info("Control designer cancelled [" + control.Type.DisplayName + "]");
 }
 public override void Destroy()
 {
     base.Destroy();
     MpeLog.Info("Control designer destroyed [" + control.Type.DisplayName + "]");
 }
 public override void Pause()
 {
     base.Pause();
     MpeLog.Info("Control designer paused [" + control.Type.DisplayName + "]");
 }
 public override void Resume()
 {
     base.Resume();
     MpeLog.Info("Control designer resumed [" + control.Type.DisplayName + "]");
 }
Beispiel #30
0
 public override void Cancel()
 {
     MpeLog.Info("Screen designer cancelled [" + ResourceName + "]");
 }