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); }
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; }
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 :-( }
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; }
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(); }