Beispiel #1
0
        public fMain()
        {
            InitializeComponent();

            btnAlpha.Checked = cProperties.getPropertyBool("enable_alpha");
            btnBackground.Checked = cProperties.getPropertyBool("enable_backdrop"); ;

            if (Platform.sysPlatform != Platform.ePlatform.MONO)
                textBoxEditor2.ConfigurationManager.Language = "xml";

            this.Text = String.Format("{0} v{1}", ((AssemblyProductAttribute)Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false)[0]).Product, Assembly.GetExecutingAssembly().GetName().Version.ToString());

            pDesigner = new cDesigner(pictureBox1.CreateGraphics());

            DirectoryInfo folder = new DirectoryInfo("elements");

            buildAddElementsMenu(folder, elementToolStripMenuItem1);

            pQueue = new cCommandQueue();
            pQueue.UndoPossibleEvent += new cCommandQueue.UndoRedoHandler(eventUndoPossible);
            pQueue.RedoPossibleEvent += new cCommandQueue.UndoRedoHandler(eventRedoPossible);
        }
Beispiel #2
0
        private void eventUndoElement(cCommandQueue.cCommand sender, EventArgs e)
        {
            int hash = (int)sender.Helper;
            replaceXmlNode(hash, sender.From as String);

            TreeNode focusNode = pXmlHandler.getTreeNode(hash);
            if (focusNode != null)
                treeView1.SelectedNode = focusNode;
        }
Beispiel #3
0
        private void eventDoElement(cCommandQueue.cCommand sender, EventArgs e)
        {
            int hash = (int)sender.Helper;
            replaceXmlNode(hash, sender.To as String);

            TreeNode focusNode = pXmlHandler.getTreeNode(hash);
            if (focusNode != null)
                treeView1.SelectedNode = focusNode;

            pQueue.clearRedo(); // We need to clear the RedoList. The problem is that we readded elements an these elements now have different hashes :-(
        }
Beispiel #4
0
        private void eventUndoPropertyGrid(cCommandQueue.cCommand sender, EventArgs e)
        {
            pSemaphorePropertyGrid = true;

            Array objFrom = sender.From as Array;

            treeView1.SelectedNode = pXmlHandler.getTreeNode((sender.Helper as sAttribute).myNode);

            propertyGrid1.Refresh();

            PropertyInfo pi = (sender.Helper as sAttribute).GetType().GetProperty(objFrom.GetValue(0).ToString());
            pi.SetValue((sender.Helper as sAttribute), objFrom.GetValue(1), null);

            refreshPropertyGrid();

            pSemaphorePropertyGrid = false;
        }
Beispiel #5
0
        private void eventDoPropertyGrid(cCommandQueue.cCommand sender, EventArgs e)
        {
            pSemaphorePropertyGrid = true;

            Array objFrom = sender.To as Array;

            treeView1.SelectedNode = pXmlHandler.getTreeNode((sender.Helper as sAttribute).myNode);

            propertyGrid1.Refresh();

            PropertyInfo pi = (sender.Helper as sAttribute).GetType().GetProperty(objFrom.GetValue(0).ToString());
            pi.SetValue((sender.Helper as sAttribute), objFrom.GetValue(1), null);

            refreshPropertyGrid();

            pSemaphorePropertyGrid = false;

            // This is a workaround, if a Do was made, an undo is possible, so activate it.
            undoToolStripMenuItem.Enabled = pQueue.isUndoPossible();
            btnUndo.Enabled = pQueue.isUndoPossible();
        }