Improved the selection dragging on the tree view. The selection moves now only when the dragging starts on the tree view. With the old implementation, double-clicking the gadget would change the selection, because the mouse is still pressed when the main window is shown.
authormoel.mich
Sun, 15 May 2011 21:43:40 +0000
changeset 288a35a89a35532
parent 287 1f5cf5d533e6
child 289 d4798e7f4388
Improved the selection dragging on the tree view. The selection moves now only when the dragging starts on the tree view. With the old implementation, double-clicking the gadget would change the selection, because the mouse is still pressed when the main window is shown.
GUI/MainForm.Designer.cs
GUI/MainForm.cs
     1.1 --- a/GUI/MainForm.Designer.cs	Sun May 15 20:48:52 2011 +0000
     1.2 +++ b/GUI/MainForm.Designer.cs	Sun May 15 21:43:40 2011 +0000
     1.3 @@ -463,7 +463,9 @@
     1.4        this.treeView.UseColumns = true;
     1.5        this.treeView.NodeMouseDoubleClick += new System.EventHandler<Aga.Controls.Tree.TreeNodeAdvMouseEventArgs>(this.treeView_NodeMouseDoubleClick);
     1.6        this.treeView.Click += new System.EventHandler(this.treeView_Click);
     1.7 +      this.treeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseDown);
     1.8        this.treeView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseMove);
     1.9 +      this.treeView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseUp);
    1.10        // 
    1.11        // plotPanel
    1.12        // 
     2.1 --- a/GUI/MainForm.cs	Sun May 15 20:48:52 2011 +0000
     2.2 +++ b/GUI/MainForm.cs	Sun May 15 21:43:40 2011 +0000
     2.3 @@ -76,6 +76,8 @@
     2.4  
     2.5      private WmiProvider wmiProvider;
     2.6  
     2.7 +    private bool selectionDragging = false;
     2.8 +
     2.9      public MainForm() {      
    2.10        InitializeComponent();
    2.11  
    2.12 @@ -629,9 +631,19 @@
    2.13      }
    2.14  
    2.15      private void treeView_MouseMove(object sender, MouseEventArgs e) {
    2.16 -      if ((e.Button & (MouseButtons.Left | MouseButtons.Right)) > 0) {
    2.17 -        treeView.SelectedNode = treeView.GetNodeAt(e.Location);
    2.18 -      }
    2.19 +      selectionDragging = selectionDragging &
    2.20 +        (e.Button & (MouseButtons.Left | MouseButtons.Right)) > 0; 
    2.21 +
    2.22 +      if (selectionDragging)
    2.23 +        treeView.SelectedNode = treeView.GetNodeAt(e.Location);     
    2.24 +    }
    2.25 +
    2.26 +    private void treeView_MouseDown(object sender, MouseEventArgs e) {
    2.27 +      selectionDragging = true;
    2.28 +    }
    2.29 +
    2.30 +    private void treeView_MouseUp(object sender, MouseEventArgs e) {
    2.31 +      selectionDragging = false;
    2.32      }
    2.33    }
    2.34  }