diff FrmNewUnitFromTree.cs @ 209:a11faa64c333

Re #354: Single-button Add Unit * Add right-click menu (doesn't work yet because of position maths)
author IBBoard <dev@ibboard.co.uk>
date Sat, 20 Aug 2011 17:05:45 +0100
parents 19a88383dfa7
children 694f23814ec2
line wrap: on
line diff
--- a/FrmNewUnitFromTree.cs	Sat Aug 20 16:12:15 2011 +0100
+++ b/FrmNewUnitFromTree.cs	Sat Aug 20 17:05:45 2011 +0100
@@ -55,7 +55,17 @@
 
         private void unitTypeTree_DoubleClick(object sender, EventArgs e)
         {
+            AddUnitType();
+        }
+
+        private void AddUnitType()
+        {
             TreeNode selected = unitTypeTree.SelectedNode;
+            AddUnitType(selected);
+        }
+
+        private void AddUnitType(TreeNode selected)
+        {
             object tagData = selected.Tag;
 
             if (tagData is UnitType)
@@ -71,5 +81,19 @@
             get { return (FrmMain)base.MdiParent; }
             set { base.MdiParent = value; }
         }
+
+        private void AddUnitClicked(object sender, EventArgs e)
+        {
+            //FIXME: We need to do some kind of maths here
+            // context menu position appears to be relative to the window, not the tree control!
+            int left = contextMenu.Left - unitTypeTree.Left;
+            int top = contextMenu.Top - unitTypeTree.Top;
+            TreeNode node = unitTypeTree.GetNodeAt(left, top);
+
+            if (node != null)
+            {
+                AddUnitType(node);
+            }
+        }
     }
 }