コード例 #1
0
 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);
     }
 }
コード例 #2
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));
             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));
 }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
 public override void Resume()
 {
     base.Resume();
     PropertyManager.SelectedResource = viewer;
     PropertyManager.HideResourceList();
     MpeLog.Info("Font designer resumed [" + ResourceName + "]");
 }
コード例 #5
0
        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;
                    }
                }
            }
        }
コード例 #6
0
 public virtual void CopyControl()
 {
     if (mask.SelectedControl != null)
     {
         mpe.Clipboard = mask.SelectedControl;
         MpeLog.Info("Copied control...");
     }
 }
コード例 #7
0
 public override void Destroy()
 {
     base.Destroy();
     if (screen != null)
     {
         screen.Dispose();
     }
     MpeLog.Info("Image designer destroyed [" + ResourceName + "]");
 }
コード例 #8
0
 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);
 }
コード例 #9
0
 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);
     }
 }
コード例 #10
0
 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);
     }
 }
コード例 #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);
     }
 }
コード例 #12
0
 public override void Destroy()
 {
     base.Destroy();
     if (screen != null)
     {
         screen.Destroy();
     }
     if (viewer != null)
     {
         viewer.Destroy();
     }
     MpeLog.Info("Font designer destroyed [" + ResourceName + "]");
 }
コード例 #13
0
        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 + "]");
        }
コード例 #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);
     }
 }
コード例 #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);
        }
コード例 #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);
     }
 }
コード例 #17
0
        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));
        }
コード例 #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);
             }
         }
     }
 }
コード例 #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;
            }
        }
コード例 #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;
 }
コード例 #21
0
        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;
        }
コード例 #22
0
 public MpePropertyGrid()
 {
     MpeLog.Info("MpePropertyGrid()");
     SetStyle(ControlStyles.EnableNotifyMessage, true);
 }
コード例 #23
0
 public override void Pause()
 {
     base.Pause();
     MpeLog.Info("Screen designer paused [" + ResourceName + "]");
 }
コード例 #24
0
 public override void Resume()
 {
     base.Resume();
     MpeLog.Info("Screen designer resumed [" + ResourceName + "]");
 }
コード例 #25
0
 public override void Destroy()
 {
     base.Destroy();
     MpeLog.Info("Screen designer destroyed [" + ResourceName + "]");
 }
コード例 #26
0
 public override void Cancel()
 {
     base.Cancel();
     MpeLog.Info("Control designer cancelled [" + control.Type.DisplayName + "]");
 }
コード例 #27
0
 public override void Destroy()
 {
     base.Destroy();
     MpeLog.Info("Control designer destroyed [" + control.Type.DisplayName + "]");
 }
コード例 #28
0
 public override void Pause()
 {
     base.Pause();
     MpeLog.Info("Control designer paused [" + control.Type.DisplayName + "]");
 }
コード例 #29
0
 public override void Resume()
 {
     base.Resume();
     MpeLog.Info("Control designer resumed [" + control.Type.DisplayName + "]");
 }
コード例 #30
0
 public override void Cancel()
 {
     MpeLog.Info("Screen designer cancelled [" + ResourceName + "]");
 }