Exemplo n.º 1
0
        /// <summary>
        /// handles document closing event by removing the corresponding document node in TreeView
        /// </summary>
        public void OnDocumentClosed(Document doc)
        {
            NodeTag.NodeType nodeType = NodeTag.NodeType.NT_DOCUMENT;
            // get node
            TreeNode docNode = FindNode(null, new NodeTag(nodeType, doc));

            // remove node
            Nodes.Remove(docNode);
        }
Exemplo n.º 2
0
 void OnNodeLeftDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     try
     {
         SelectedNode = e.Node;
         // handle only left mouse button click
         if (e.Button != MouseButtons.Left)
         {
             return;
         }
         NodeTag          tag     = CurrentTag;
         NodeTag.NodeType tagType = tag.Type;
         if (null != AnalysisNodeClicked &&
             (tag.Type == NodeTag.NodeType.NT_ANALYSIS) ||
             (tag.Type == NodeTag.NodeType.NT_ECTANALYSIS) ||
             (tag.Type == NodeTag.NodeType.NT_BOX) ||
             (tag.Type == NodeTag.NodeType.NT_CASE) ||
             (tag.Type == NodeTag.NodeType.NT_PACK) ||
             (tag.Type == NodeTag.NodeType.NT_BUNDLE) ||
             (tag.Type == NodeTag.NodeType.NT_CYLINDER) ||
             (tag.Type == NodeTag.NodeType.NT_CASEOFBOXES) ||
             (tag.Type == NodeTag.NodeType.NT_PALLET) ||
             (tag.Type == NodeTag.NodeType.NT_INTERLAYER) ||
             (tag.Type == NodeTag.NodeType.NT_PALLETCORNERS) ||
             (tag.Type == NodeTag.NodeType.NT_PALLETCAP) ||
             (tag.Type == NodeTag.NodeType.NT_PALLETFILM) ||
             (tag.Type == NodeTag.NodeType.NT_TRUCK)
             )
         {
             AnalysisNodeClicked(this, new AnalysisTreeViewEventArgs(tag));
             e.Node.Expand();
         }
     }
     catch (Exception ex)
     {
         _log.Error(ex.ToString());
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// handles new type removed
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="itemBase"></param>
        public void OnTypeRemoved(Document doc, ItemBase itemBase)
        {
            NodeTag.NodeType nodeType = NodeTag.NodeType.NT_UNKNOWN;
            if (itemBase.GetType() == typeof(BoxProperties))
            {
                BoxProperties box = itemBase as BoxProperties;
                if (box.HasInsideDimensions)
                {
                    nodeType = NodeTag.NodeType.NT_CASE;
                }
                else
                {
                    nodeType = NodeTag.NodeType.NT_BOX;
                }
            }
            else if (itemBase.GetType() == typeof(BundleProperties))
            {
                nodeType = NodeTag.NodeType.NT_BUNDLE;
            }
            else if (itemBase.GetType() == typeof(PackProperties))
            {
                nodeType = NodeTag.NodeType.NT_PACK;
            }
            else if (itemBase.GetType() == typeof(CaseOfBoxesProperties))
            {
                nodeType = NodeTag.NodeType.NT_CASEOFBOXES;
            }
            else if (itemBase.GetType() == typeof(InterlayerProperties))
            {
                nodeType = NodeTag.NodeType.NT_INTERLAYER;
            }
            else if (itemBase.GetType() == typeof(PalletCornerProperties))
            {
                nodeType = NodeTag.NodeType.NT_PALLETCORNERS;
            }
            else if (itemBase.GetType() == typeof(PalletCapProperties))
            {
                nodeType = NodeTag.NodeType.NT_PALLETCAP;
            }
            else if (itemBase.GetType() == typeof(PalletFilmProperties))
            {
                nodeType = NodeTag.NodeType.NT_PALLETFILM;
            }
            else if (itemBase.GetType() == typeof(PalletProperties))
            {
                nodeType = NodeTag.NodeType.NT_PALLET;
            }
            else if (itemBase.GetType() == typeof(TruckProperties))
            {
                nodeType = NodeTag.NodeType.NT_TRUCK;
            }
            else if (itemBase.GetType() == typeof(CylinderProperties))
            {
                nodeType = NodeTag.NodeType.NT_CYLINDER;
            }
            Debug.Assert(nodeType != NodeTag.NodeType.NT_UNKNOWN);
            if (nodeType == NodeTag.NodeType.NT_UNKNOWN)
            {
                return; // ->not found exit
            }
            // get node
            TreeNode typeNode = FindNode(null, new NodeTag(nodeType, doc, itemBase));

            // remove node
            if (null != typeNode)
            {
                Nodes.Remove(typeNode);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// handles new type creation
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="itemProperties"></param>
        public void OnNewTypeCreated(Document doc, ItemBase itemProperties)
        {
            int iconIndex = 0;

            NodeTag.NodeType nodeType       = NodeTag.NodeType.NT_BOX;
            NodeTag.NodeType parentNodeType = NodeTag.NodeType.NT_LISTBOX;
            if (itemProperties.GetType() == typeof(CaseOfBoxesProperties))
            {
                iconIndex      = 17;
                nodeType       = NodeTag.NodeType.NT_CASEOFBOXES;
                parentNodeType = NodeTag.NodeType.NT_LISTCASE;
            }
            else if (itemProperties.GetType() == typeof(BoxProperties))
            {
                BoxProperties boxProperties = itemProperties as BoxProperties;
                if (boxProperties.HasInsideDimensions)
                {
                    iconIndex      = 4;
                    nodeType       = NodeTag.NodeType.NT_CASE;
                    parentNodeType = NodeTag.NodeType.NT_LISTCASE;
                }
                else
                {
                    iconIndex      = 3;
                    nodeType       = NodeTag.NodeType.NT_BOX;
                    parentNodeType = NodeTag.NodeType.NT_LISTBOX;
                }
            }
            else if (itemProperties.GetType() == typeof(BundleProperties))
            {
                iconIndex      = 5;
                nodeType       = NodeTag.NodeType.NT_BUNDLE;
                parentNodeType = NodeTag.NodeType.NT_LISTBUNDLE;
            }
            else if (itemProperties.GetType() == typeof(CylinderProperties))
            {
                iconIndex      = 6;
                nodeType       = NodeTag.NodeType.NT_CYLINDER;
                parentNodeType = NodeTag.NodeType.NT_LISTCYLINDER;
            }
            else if (itemProperties.GetType() == typeof(PalletProperties))
            {
                iconIndex      = 7;
                nodeType       = NodeTag.NodeType.NT_PALLET;
                parentNodeType = NodeTag.NodeType.NT_LISTPALLET;
            }
            else if (itemProperties.GetType() == typeof(InterlayerProperties))
            {
                iconIndex      = 8;
                nodeType       = NodeTag.NodeType.NT_INTERLAYER;
                parentNodeType = NodeTag.NodeType.NT_LISTINTERLAYER;
            }
            else if (itemProperties.GetType() == typeof(TruckProperties))
            {
                iconIndex      = 9;
                nodeType       = NodeTag.NodeType.NT_TRUCK;
                parentNodeType = NodeTag.NodeType.NT_LISTTRUCK;
            }
            else if (itemProperties.GetType() == typeof(PalletCornerProperties))
            {
                iconIndex      = 10;
                nodeType       = NodeTag.NodeType.NT_PALLETCORNERS;
                parentNodeType = NodeTag.NodeType.NT_LISTPALLETCORNERS;
            }
            else if (itemProperties.GetType() == typeof(PalletCapProperties))
            {
                iconIndex      = 11;
                nodeType       = NodeTag.NodeType.NT_PALLETCAP;
                parentNodeType = NodeTag.NodeType.NT_LISTPALLETCAP;
            }
            else if (itemProperties.GetType() == typeof(PalletFilmProperties))
            {
                iconIndex      = 12;
                nodeType       = NodeTag.NodeType.NT_PALLETFILM;
                parentNodeType = NodeTag.NodeType.NT_LISTPALLETFILM;
            }
            else if (itemProperties.GetType() == typeof(PackProperties))
            {
                iconIndex      = 13;
                nodeType       = NodeTag.NodeType.NT_PACK;
                parentNodeType = NodeTag.NodeType.NT_LISTPACK;
            }
            else
            {
                Debug.Assert(false);
                _log.Error("AnalysisTreeView.OnNewTypeCreated() -> unknown type!");
                return;
            }
            // get parent node
            TreeNode parentNode = FindNode(null, new NodeTag(parentNodeType, doc));

            if (null == parentNode)
            {
                _log.Error(string.Format("Failed to load parentNode for {0}", itemProperties.Name));
                return;
            }
            // instantiate node
            TreeNode nodeItem = new TreeNode(itemProperties.Name, iconIndex, iconIndex)
            {
                // set node tag
                Tag = new NodeTag(nodeType, doc, itemProperties)
            };

            // insert
            parentNode.Nodes.Add(nodeItem);
            parentNode.Expand();
            // if item is CaseOfBoxesProperties
            if (itemProperties is CaseOfBoxesProperties)
            {
                // insert sub node
                CaseOfBoxesProperties caseOfBoxesProperties = itemProperties as CaseOfBoxesProperties;
                TreeNode subNode = new TreeNode(caseOfBoxesProperties.InsideBoxProperties.Name, 3, 3)
                {
                    Tag = new NodeTag(NodeTag.NodeType.NT_BOX, doc, caseOfBoxesProperties.InsideBoxProperties)
                };
                nodeItem.Nodes.Add(subNode);
            }
        }