Ejemplo n.º 1
0
        private void ChangeParent(DataTreeViewNode node)
        {
            object dataParentID = this.parentIdProperty.GetValue(this.listManager.List[node.Position]);

            if (node.ParentID.ToString() != dataParentID.ToString())
            {
                if (dataParentID.ToString() == "-1")
                {
                    dataParentID = 0;
                }

                DataTreeViewNode newParentNode = this.items_Identifiers[dataParentID] as DataTreeViewNode;
                if (newParentNode != null)
                {
                    node.Remove();
                    newParentNode.Nodes.Add(node);
                }
                else
                {
                    throw new ApplicationException("Item not found or wrong type.");
                }
            }
            else
            {
            }
        }
Ejemplo n.º 2
0
        private void RefreshData(DataTreeViewNode node)
        {
            int position = node.Position;

            node.ID       = this.idProperty.GetValue(this.listManager.List[position]);
            node.Text     = (string)this.nameProperty.GetValue(this.listManager.List[position]);
            node.ParentID = this.parentIdProperty.GetValue(this.listManager.List[position]);

            node.Path = this.pathProperty.GetValue(this.listManager.List[position]);

            node.LibraryID = this.libraryidProperty.GetValue(this.listManager.List[position]);

            node.Type = this.dirtypeProperty.GetValue(this.listManager.List[position]);

            switch (node.Type.ToString())
            {
            case "0":
                node.ImageIndex = 0;
                break;

            case "1":
                node.ImageIndex = 1;
                break;

            default:
                node.ImageIndex = 2;
                break;
            }
            //TODO
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a DataTreeViewNode with currency manager and position.
        /// </summary>
        /// <param name="currencyManager"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        private DataTreeViewNode CreateNode(CurrencyManager currencyManager, int position)
        {
            DataTreeViewNode node = new DataTreeViewNode(position);

            this.RefreshData(node);
            return(node);
        }
Ejemplo n.º 4
0
        private void RefreshData(DataTreeViewNode node)
        {
            int position = node.Position;

            node.ID       = this.idProperty.GetValue(this.listManager.List[position]);
            node.Text     = (string)this.nameProperty.GetValue(this.listManager.List[position]);
            node.ParentID = this.parentIdProperty.GetValue(this.listManager.List[position]);
        }
Ejemplo n.º 5
0
        private void refreshData(DataTreeViewNode node)
        {
            int position = node.Position;

            node.Key       = keyProperty.GetValue(listManager.List[position]);
            node.Text      = (string)nameProperty.GetValue(listManager.List[position]);
            node.ParentKey = parentKeyProperty.GetValue(listManager.List[position]);
            node.IsLeaf    = (bool)isLeafProperty.GetValue(listManager.List[position]);
        }
Ejemplo n.º 6
0
        private void dataTreeView_BeforeCollapse(object sender, TreeViewCancelEventArgs e)
        {
            DataTreeViewNode node = e.Node as DataTreeViewNode;

            if (node != null && !node.IsLeaf)
            {
                e.Node.ImageIndex = e.Node.SelectedImageIndex = 0;
            }
        }
Ejemplo n.º 7
0
        private void DataTreeView_ListChanged(object sender, ListChangedEventArgs e)
        {
            switch (e.ListChangedType)
            {
            case ListChangedType.ItemAdded:
                if (!TryAddNode(this.CreateNode(this.listManager, e.NewIndex)))
                {
                    throw new ApplicationException("Item are not added.");
                }
                break;

            case ListChangedType.ItemChanged:
                DataTreeViewNode chnagedNode = this.items_Positions[e.NewIndex] as DataTreeViewNode;
                if (chnagedNode != null)
                {
                    this.RefreshData(chnagedNode);
                    this.ChangeParent(chnagedNode);
                }
                else
                {
                    throw new ApplicationException("Item not found or wrong type.");
                }
                break;

            case ListChangedType.ItemMoved:
                DataTreeViewNode movedNode = this.items_Positions[e.OldIndex] as DataTreeViewNode;
                if (movedNode != null)
                {
                    this.items_Positions.Remove(e.OldIndex);
                    this.items_Positions.Add(e.NewIndex, movedNode);
                }
                else
                {
                    throw new ApplicationException("Item not found or wrong type.");
                }
                break;

            case ListChangedType.ItemDeleted:
                DataTreeViewNode deletedNode = this.items_Positions[e.NewIndex] as DataTreeViewNode;
                if (deletedNode != null)
                {
                    this.items_Positions.Remove(e.NewIndex);
                    this.items_Identifiers.Remove(deletedNode.ID);
                    deletedNode.Remove();
                }
                else
                {
                    //throw new ApplicationException("Item not found or wrong type.");
                }
                break;

            case ListChangedType.Reset:
                this.ResetData();
                break;
            }
        }
Ejemplo n.º 8
0
 private void SynchronizeSelection()
 {
     if (!this.selectionChanging)
     {
         DataTreeViewNode node = this.items_Positions[this.listManager.Position] as DataTreeViewNode;
         if (node != null)
         {
             this.SelectedNode = node;
         }
     }
 }
Ejemplo n.º 9
0
 private void synchronizeSelection()
 {
     if (!selectionChanging)
     {
         DataTreeViewNode node = items_Positions[listManager.Position] as DataTreeViewNode;
         if (node != null)
         {
             SelectedNode = node;
         }
     }
 }
Ejemplo n.º 10
0
        private void dataTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            beginSelectionChanging();
            DataTreeViewNode node = e.Node as DataTreeViewNode;

            if (node != null)
            {
                listManager.Position = node.Position;
            }
            endSelectionChanging();
        }
Ejemplo n.º 11
0
        private void DataTreeView_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            this.BeginSelectionChanging();

            DataTreeViewNode node = e.Node as DataTreeViewNode;

            if (node != null)
            {
                this.listManager.Position = node.Position;
            }
            this.EndSelectionChanging();
        }
Ejemplo n.º 12
0
 private void AddNode(TreeNodeCollection nodes, DataTreeViewNode node)
 {
     try
     {
         this.items_Positions.Add(node.Position, node);
         this.items_Identifiers.Add(node.ID, node);
         nodes.Add(node);
     }
     catch (Exception ex)
     {
         //g.Info(ex.Message);
     }
 }
Ejemplo n.º 13
0
        private void dataTreeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            DataTreeViewNode node = e.Node as DataTreeViewNode;

            if (node != null)
            {
                if (prepareValueConvertor() && valueConverter.IsValid(e.Label))
                {
                    nameProperty.SetValue(listManager.List[node.Position], valueConverter.ConvertFromString(e.Label));
                    listManager.EndCurrentEdit();
                    return;
                }
            }
            e.CancelEdit = true;
        }
Ejemplo n.º 14
0
        private void changeParent(DataTreeViewNode node)
        {
            object dataParentID = parentKeyProperty.GetValue(listManager.List[node.Position]);

            if (node.ParentKey != dataParentID)
            {
                DataTreeViewNode newParentNode = items_Identifiers[dataParentID] as DataTreeViewNode;
                if (newParentNode != null)
                {
                    node.Remove();
                    newParentNode.Nodes.Add(node);
                }
                else
                {
                    throw new ApplicationException("Item not found or wrong type.");
                }
            }
        }
Ejemplo n.º 15
0
        private void DataTreeView_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e)
        {
            DataTreeViewNode node = e.Node as DataTreeViewNode;

            if (node != null)
            {
                if (this.PrepareValueConvertor() &&
                    this.valueConverter.IsValid(e.Label)
                    )
                {
                    this.nameProperty.SetValue(
                        this.listManager.List[node.Position],
                        this.valueConverter.ConvertFromString(e.Label)
                        );
                    this.listManager.EndCurrentEdit();
                    return;
                }
            }
            e.CancelEdit = true;
        }
Ejemplo n.º 16
0
 private bool tryAddNode(DataTreeViewNode node)
 {
     if (IsIDNull(node.ParentKey))
     {
         addNode(Nodes, node);
         return(true);
     }
     else
     {
         if (items_Identifiers.ContainsKey(node.ParentKey))
         {
             TreeNode parentNode = items_Identifiers[node.ParentKey] as TreeNode;
             if (parentNode != null)
             {
                 addNode(parentNode.Nodes, node);
                 return(true);
             }
         }
     }
     return(false);
 }
Ejemplo n.º 17
0
        private void AddNode(TreeNodeCollection nodes, DataTreeViewNode node)
        {
            /*if (this.items_Positions.ContainsKey(node.Position))
             * {
             *  return;
             * }*/

            try
            {
                /*if (this.items_Identifiers.ContainsKey(node.ID))
                 * {
                 *  return;
                 * }*/


                this.items_Positions.Add(node.Position, node);
                this.items_Identifiers.Add(node.ID, node);
                nodes.Add(node);
            }
            catch { }
        }
Ejemplo n.º 18
0
 private bool TryAddNode(DataTreeViewNode node)
 {
     if (this.IsIDNull(node.ParentID) || node.ParentID.ToString() == "-1")
     {
         this.AddNode(this.Nodes, node);
         return(true);
     }
     else
     {
         if (this.items_Identifiers.ContainsKey(node.ParentID))
         {
             TreeNode parentNode = this.items_Identifiers[node.ParentID] as TreeNode;
             if (parentNode != null)
             {
                 this.AddNode(parentNode.Nodes, node);
                 return(true);
             }
         }
     }
     return(false);
 }
Ejemplo n.º 19
0
 private void AddNode(TreeNodeCollection nodes, DataTreeViewNode node)
 {
     this.items_Positions.Add(node.Position, node);
     this.items_Identifiers.Add(node.ID, node);
     nodes.Add(node);
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Create a DataTreeViewNode with currency manager and position.
 /// </summary>
 /// <param name="currencyManager"></param>
 /// <param name="position"></param>
 /// <returns></returns>
 private DataTreeViewNode CreateNode(CurrencyManager currencyManager, int position)
 {
     DataTreeViewNode node = new DataTreeViewNode(position);
     this.RefreshData(node);
     return node;
 }
Ejemplo n.º 21
0
 private void RefreshData(DataTreeViewNode node)
 {
     int position = node.Position;
     node.ID = this.idProperty.GetValue(this.listManager.List[position]);
     node.Text = (string)this.nameProperty.GetValue(this.listManager.List[position]);
     node.ParentID = this.parentIdProperty.GetValue(this.listManager.List[position]);
     node.Item = this.listManager.List[position];
 }
Ejemplo n.º 22
0
 private void addNode(TreeNodeCollection nodes, DataTreeViewNode node)
 {
     items_Positions.Add(node.Position, node);
     items_Identifiers.Add(node.Key, node);
     nodes.Add(node);
 }
Ejemplo n.º 23
0
 private bool TryAddNode(DataTreeViewNode node)
 {
     if (this.IsIDNull(node.ParentID))
     {
         this.AddNode(this.Nodes, node);
         return true;
     }
     else
     {
         if (this.items_Identifiers.ContainsKey(node.ParentID))
         {
             TreeNode parentNode = this.items_Identifiers[node.ParentID] as TreeNode;
             if (parentNode != null)
             {
                 this.AddNode(parentNode.Nodes, node);
                 return true;
             }
         }
     }
     return false;
 }
Ejemplo n.º 24
0
 private void ChangeParent(DataTreeViewNode node)
 {
     object dataParentID = this.parentIdProperty.GetValue(this.listManager.List[node.Position]);
     if (node.ParentID != dataParentID)
     {
         DataTreeViewNode newParentNode = this.items_Identifiers[dataParentID] as DataTreeViewNode;
         if (newParentNode != null)
         {
             node.Remove();
             newParentNode.Nodes.Add(node);
         }
         else
         {
             throw new ApplicationException("Item not found or wrong type.");
         }
     }
 }