示例#1
0
        private void AddParameter(TreeNodeCollection nodes, int insertPos)
        {
            CommandJsonStorage.Parameter parameter = new CommandJsonStorage.Parameter();
            parameter.Name   = "DefaultParameter";
            parameter.Offset = 0;
            parameter.Size   = 1;
            parameter.Type   = "HEX";
            parameter.Value  = "0x00";
            parameter.Fixed  = false;

            AddParameter(nodes, insertPos, parameter);
        }
示例#2
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();
        }
示例#3
0
        private void AddParameter(TreeNodeCollection nodes, int insertPos, CommandJsonStorage.Parameter parameter)
        {
            var _list   = new MyLayoutClass(new VerticalLayout(), splitContainer.Panel2);
            var _search = new Searcher();
            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;
            nodes.Insert(insertPos, nodeParameter);
        }