private void EditInt(TreeNode sourceNode) { if (_intEditMode != EditMode.None) { if ((uint)tbIntValue.Value != (((tbIntValue.Tag as TreeNode).Tag as AceObjectPropertiesInt).PropertyValue)) { // unsaved changes MessageBox.Show("Unsaved Int changes detected. Save or Cancel first."); return; } } else { // only adjust if we're opening it from a closed state tvInts.Height -= pEditInt.Height; } AceObjectPropertiesInt prop = sourceNode.Tag as AceObjectPropertiesInt; _intEditMode = EditMode.Edit; pEditInt.Visible = true; cbIntProperties.SelectedValue = (int?)prop.PropertyId; tbIntValue.Value = prop.PropertyValue ?? 0; tbIntValue.Tag = sourceNode; cbIntProperties.Enabled = false; }
private void btnSaveInt_Click(object sender, EventArgs e) { TreeNode node = null; AceObjectPropertiesInt prop = null; if (_intEditMode == EditMode.Edit) { node = (TreeNode)tbIntValue.Tag; prop = node.Tag as AceObjectPropertiesInt; prop.PropertyValue = (uint)tbIntValue.Value; node.Text = ((PropertyString)prop.PropertyId) + " - " + prop.PropertyValue; } else { prop = new AceObjectPropertiesInt(); prop.AceObjectId = _weenie.WeenieClassId; prop.PropertyId = Convert.ToUInt16((int)cbStringProperties.SelectedValue); prop.PropertyValue = (uint)tbIntValue.Value; _weenie.IntProperties.Add(prop); node = CreateIntNode(prop); tvStrings.Nodes.Add(node); } // TODO: save change to change-list. object structure will be dirty tvInts.Height += pEditInt.Height; pEditInt.Visible = false; _intEditMode = EditMode.None; }
private TreeNode CreateIntNode(AceObjectPropertiesInt prop) { TreeNode node = new TreeNode(); node.Text = ((PropertyInt)prop.PropertyId).ToString() + " - " + prop.PropertyValue; node.Tag = prop; node.ContextMenuStrip = cmsInt; return(node); }