Example #1
0
        private void updateSelectedNode(TreeNode currTreeViewNode)
        {
            if (currTreeViewNode == null)
            {
                return;
            }

            updateSelectedNode(currTreeViewNode.Parent);

            if (currTreeViewNode.Parent == null) // 루트 노드일 때
            {
                _selectedNode = _hexView._doc.getRootNode();
            }
            else
            {
                if (_selectedNode.Children != null)
                {
                    _selectedNode = _selectedNode.Children[currTreeViewNode.Index];
                }
                else
                {
                    HexViewTreeNode newSelectedNode = new HexViewTreeNode();
                    newSelectedNode           = new HexViewTreeNode();
                    newSelectedNode.Data      = new NodeData();
                    newSelectedNode.Data.Type = _selectedNode.Data.Type.Children[currTreeViewNode.Index];
                    newSelectedNode.Data.Name = _selectedNode.Data.Name + "->" + newSelectedNode.Data.Type.Alias;
                    _selectedNode             = newSelectedNode;
                }
            }
        }
Example #2
0
        private void constructTreeView(TreeNode currTreeViewNode, HexViewTreeNode currHvNode)
        {
            if (currHvNode == null)
            {
                return;
            }

            if (currHvNode.Children != null)
            {
                foreach (HexViewTreeNode childHvNode in currHvNode.Children)
                {
                    TreeNode childNode = currTreeViewNode.Nodes.Add(childHvNode.Data.Name);
                    constructTreeView(childNode, childHvNode);
                }
                return;
            }

            if (currHvNode.Data.Type != null)
            {
                if (currHvNode.Data.Type.isBuiltInDataType() == false)
                {
                    if (currHvNode.Data.Type.Children != null)
                    {
                        foreach (HexViewDataType childDataType in currHvNode.Data.Type.Children)
                        {
                            constructTreeViewDataType(currTreeViewNode, childDataType);
                        }
                    }
                }
            }
        }
Example #3
0
        public bool loadHexViewFromFile(string fileName)
        {
            _hexView = new HexView();
            if (_hexView.OpenXml(fileName) == true)
            {
                treeView.Nodes.Clear();

                HexViewTreeNode hvRootNode = _hexView._doc.getRootNode();

                TreeNode treeViewRootNode = new TreeNode(hvRootNode.Data.Name);
                for (int i = 0; i < hvRootNode.Children.Count; ++i)
                {
                    HexViewTreeNode childHvNode = hvRootNode.Children[i];
                    TreeNode        childNode   = treeViewRootNode.Nodes.Add(childHvNode.Data.Name);
                    constructTreeView(childNode, childHvNode);
                }

                treeView.Nodes.Add(treeViewRootNode);

                return(true);
            }
            return(false);
        }