예제 #1
0
        private void Save()
        {
            var obj = new CommandJsonStorage.CommandJsonObject();

            obj.Name    = textBoxName.Text;
            obj.Version = textBoxVersion.Text;
            foreach (TreeNode item in treeView.Nodes)
            {
                var input_items = (MyLayoutClass)item.Tag;
                var items       = new CommandJsonStorage.Item();

                items.Name   = input_items.Search("Name").Text;
                items.Length = int.Parse(input_items.Search("Length").Text);
                foreach (TreeNode detail in item.Nodes)
                {
                    var input_details = (MyLayoutClass)detail.Tag;
                    var details       = new CommandJsonStorage.Detail();

                    details.Name   = input_details.Search("Name").Text;
                    details.Offset = int.Parse(input_details.Search("Offset").Text);
                    details.Size   = int.Parse(input_details.Search("Size").Text);
                    foreach (TreeNode parameter in detail.Nodes)
                    {
                        var input_parameter = (MyLayoutClass)parameter.Tag;
                        var parameters      = new CommandJsonStorage.Parameter();

                        parameters.Name   = input_parameter.Search("Name").Text;
                        parameters.Offset = int.Parse(input_parameter.Search("Offset").Text);
                        parameters.Size   = int.Parse(input_parameter.Search("Size").Text);
                        parameters.Type   = input_parameter.Search("Type").Text;
                        parameters.Value  = input_parameter.Search("Value").Text;
                        parameters.Fixed  = input_parameter.Search("Fixed").Text == "True" ? true : false;
                        details.Controls.Add(parameters);
                    }
                    items.Controls.Add(details);
                }
                obj.Controls.Add(items);
            }

            CommandObj = obj.Clone();
        }
예제 #2
0
 private void Init()
 {
     Clear();
     CommandObj = new CommandJsonStorage.CommandJsonObject();
     Settings.Default.JsonFilePath = "";
 }
예제 #3
0
        private void DisplayUpdate(CommandJsonStorage.CommandJsonObject obj)
        {
            if (obj.GetType().Name != "CommandJsonObject")
            {
                return;
            }

            treeView.Nodes.Clear();

            //ヘッダー情報
            textBoxName.Text    = obj.Name;
            textBoxVersion.Text = obj.Version;

            //メイン情報
            var _list   = new MyLayoutClass(new VerticalLayout(), splitContainer.Panel2);
            var _search = new Searcher();

            foreach (var item in obj.Controls)
            {
                {
                    var _input = new List <UserControlInput>
                    {
                        _search.getInputDisplayOfType("ASCII").
                        SetFont(FONT).
                        SetName("Name").
                        SetRange(new Range <int>(MAX_TEXT)).
                        SetValue(item.Name).
                        GetInputDisplay(),

                        _search.getInputDisplayOfType("DEC").
                        SetFont(FONT).
                        SetName("Length").
                        SetRange(new Range <int>(ushort.MaxValue)).
                        SetValue(item.Length.ToString()).
                        GetInputDisplay()
                    };
                    _list.Layout(_input);
                }

                TreeNode nodeItem = new TreeNode();
                nodeItem.NodeFont = FONT;
                nodeItem.Name     = item.Name;
                nodeItem.Text     = item.Name;
                nodeItem.Tag      = _list.Clone();
                treeView.Nodes.Add(nodeItem);
                foreach (var detail in item.Controls)
                {
                    {
                        var _input = new List <UserControlInput>
                        {
                            _search.getInputDisplayOfType("ASCII").
                            SetFont(FONT).
                            SetName("Name").
                            SetRange(new Range <int>(MAX_TEXT)).
                            SetValue(detail.Name).
                            GetInputDisplay(),

                            _search.getInputDisplayOfType("DEC").
                            SetFont(FONT).
                            SetName("Offset").
                            SetRange(new Range <int>(ushort.MaxValue)).
                            SetValue(detail.Offset.ToString()).
                            GetInputDisplay(),

                            _search.getInputDisplayOfType("DEC").
                            SetFont(FONT).
                            SetName("Size").
                            SetRange(new Range <int>(ushort.MaxValue)).
                            SetValue(detail.Size.ToString()).
                            GetInputDisplay()
                        };
                        _list.Layout(_input);
                    }
                    TreeNode nodeDetail = new TreeNode();
                    nodeDetail.NodeFont = FONT;
                    nodeDetail.Name     = detail.Name;
                    nodeDetail.Text     = detail.Name;
                    nodeDetail.Tag      = _list.Clone();
                    nodeItem.Nodes.Add(nodeDetail);
                    foreach (var parameter in detail.Controls)
                    {
                        {
                            var _input = new List <UserControlInput>
                            {
                                _search.getInputDisplayOfType("ASCII").
                                SetFont(FONT).
                                SetName("Name").
                                SetRange(new Range <int>(MAX_TEXT)).
                                SetValue(parameter.Name).
                                GetInputDisplay(),

                                _search.getInputDisplayOfType("DEC").
                                SetFont(FONT).
                                SetName("Offset").
                                SetRange(new Range <int>(ushort.MaxValue)).
                                SetValue(parameter.Offset.ToString()).
                                GetInputDisplay(),

                                _search.getInputDisplayOfType("DEC").
                                SetFont(FONT).
                                SetName("Size").
                                SetRange(new Range <int>(ushort.MaxValue)).
                                SetValue(parameter.Size.ToString()).
                                GetInputDisplay(),

                                _search.getInputDisplayOfType("SELECT").
                                SetFont(FONT).
                                SetName("Type").
                                SetValue(parameter.Type).
                                SetValues("HEX").
                                SetValues("DEC").
                                SetValues("ASCII").
                                SetValues("FILE_SELECT").
                                GetInputDisplay(),

                                _search.getInputDisplayOfType("ASCII").
                                SetFont(FONT).
                                SetName("Value").
                                SetRange(new Range <int>(MAX_TEXT)).
                                SetValue(parameter.Value).
                                GetInputDisplay(),

                                _search.getInputDisplayOfType("SELECT").
                                SetFont(FONT).
                                SetName("Fixed").
                                SetValue(parameter.Fixed == true ? "True" : "False").
                                SetValues("True").
                                SetValues("False").
                                GetInputDisplay()
                            };
                            _list.Layout(_input);
                        }

                        TreeNode nodeParameter = new TreeNode();
                        nodeParameter.NodeFont = FONT;
                        nodeParameter.Name     = parameter.Name;
                        nodeParameter.Text     = parameter.Name;
                        nodeParameter.Tag      = _list.Clone();
                        nodeDetail.Nodes.Add(nodeParameter);
                    }
                }
            }
            treeView.SelectedNode = treeView.TopNode;
        }