SharpDisplay: Migrating to new robust client scheme.
2 using System.Collections.Generic;
5 namespace Aga.Controls.Tree
7 internal class InputWithShift: NormalInputState
9 public InputWithShift(TreeViewAdv tree): base(tree)
13 protected override void FocusRow(TreeNodeAdv node)
15 Tree.SuspendSelectionEvent = true;
18 if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null)
20 else if (CanSelect(node))
22 SelectAllFromStart(node);
23 Tree.CurrentNode = node;
29 Tree.SuspendSelectionEvent = false;
33 protected override void DoMouseOperation(TreeNodeAdvMouseEventArgs args)
35 if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null)
37 base.DoMouseOperation(args);
39 else if (CanSelect(args.Node))
41 Tree.SuspendSelectionEvent = true;
44 SelectAllFromStart(args.Node);
48 Tree.SuspendSelectionEvent = false;
53 protected override void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args)
57 private void SelectAllFromStart(TreeNodeAdv node)
59 Tree.ClearSelectionInternal();
61 int b = Tree.SelectionStart.Row;
62 for (int i = Math.Min(a, b); i <= Math.Max(a, b); i++)
64 if (Tree.SelectionMode == TreeSelectionMode.Multi || Tree.RowMap[i].Parent == node.Parent)
65 Tree.RowMap[i].IsSelected = true;