public void AddSelection(TreeNodeMultipleSelect node)
 {
     TreeNodeMultipleSelectArrayList list = new TreeNodeMultipleSelectArrayList(1);
     list.Add(node);
     AddSelection(list);
     UpdateToolBar();
 }
 public void AddSelection(TreeNodeMultipleSelectArrayList selectionIn)
 {
     if (!supressSelectionAdd) {
         // Must copy the collection, otherwise we're using a collection that's being modified by the
         // multiple selection pane all the time!
         TreeNodeMultipleSelectArrayList selection = new TreeNodeMultipleSelectArrayList(selectionIn.Count);
         selection.AddRange(selectionIn);
         // kill everything after where we are
         if (sequentialHistory.Count > whereAreWe + 1)
             sequentialHistory.RemoveRange(whereAreWe+1, sequentialHistory.Count-(whereAreWe+1));
         if (!totalHistory.Contains(selection))
             totalHistory.Add(selection);
         whereAreWe = sequentialHistory.Add(selection);
     } else
         // shut this off in any case
         supressSelectionAdd = false;
     UpdateToolBar();
 }
 public void Init()
 {
     selectedNodes = new TreeNodeMultipleSelectArrayList();
     LabelEdit = true;
     history = new NavigationHistory(this);
 }