public RegisterItem(XElement reg, RegisterGroupItem parent, RegViewModel owner)
        {
            Element    = reg;
            ParentItem = Parent = parent;
            Owner      = owner;

            Name        = reg.Attribute("name").Value;
            Description = reg.Attribute("description").Value;

            ItemPath = Path.Combine(parent.ItemPath, Name);
            Icon     = EmbSysRegView.Properties.Resources.unselected_register;

            try
            {
                var val = (reg.Attribute("resetvalue") != null) ? reg.Attribute("resetvalue").Value.Trim() : "";
                if (val.IndexOf('x') > 0)
                {
                    val = val.Substring(val.IndexOf('x') + 1);
                }
                Reset  = Convert.ToUInt32((val.Length > 0) ? val : "0x00", 16);
                Access = reg.Attribute("access").Value;
                val    = reg.Attribute("address").Value.Trim();
                if (val.IndexOf('x') > 0)
                {
                    val = val.Substring(val.IndexOf('x') + 1);
                }
                Address = Convert.ToUInt32(val, 16);
            }
            catch (Exception ex)
            {
                Description = "PARSE ERROR: " + ex.Message;
            }
        }
 public override List<BaseItem> LoadChildren()
 {
     var items = new List<BaseItem>();
     Children = new List<RegisterGroupItem>();
     foreach (var regGroup in Element.Descendants("registergroup"))
     {
         var item = new RegisterGroupItem(regGroup, this, Owner);
         Children.Add(item);
         items.Add(item);
     }
     return items;
 }
        public override List <BaseItem> LoadChildren()
        {
            var items = new List <BaseItem>();

            Children = new List <RegisterGroupItem>();
            foreach (var regGroup in Element.Descendants("registergroup"))
            {
                var item = new RegisterGroupItem(regGroup, this, Owner);
                Children.Add(item);
                items.Add(item);
            }
            return(items);
        }
        public RegisterItem(XElement reg, RegisterGroupItem parent, RegViewModel owner)
        {
            Element = reg;
            ParentItem = Parent = parent;
            Owner = owner;

            Name = reg.Attribute("name").Value;
            Description = reg.Element("description").Value;

            ItemPath = Path.Combine(parent.ItemPath, Name);
            Icon = EmbSysRegView.Properties.Resources.unselected_register;

            try
            {
                var val = (reg.Attribute("resetvalue") != null) ? reg.Attribute("resetvalue").Value.Trim() : "";
                if (val.IndexOf('x') > 0)
                    val = val.Substring(val.IndexOf('x') + 1);
                Reset = Convert.ToUInt32((val.Length > 0) ? val : "0x00", 16);
                Access = reg.Attribute("access").Value;
                val = reg.Attribute("address").Value.Trim();
                if (val.IndexOf('x') > 0)
                    val = val.Substring(val.IndexOf('x') + 1);
                Address = Convert.ToUInt32(val, 16);
            }
            catch (Exception ex)
            {
                Description = "PARSE ERROR: " + ex.Message;
            }
        }