Example #1
0
        private void UpdateSubsets()
        {
            var classes = this.SourceActions.Where(Filter).SelectMany(Classifier).Distinct().OrderBy(c => c);

            this.Subsets.Clear();
            foreach (var cls in classes)
            {
                var actions = new ObservableCollection <ActionView>(
                    SourceActions.Where(Filter)
                    .Where(a => Classifier(a).Contains(cls))
                    .OrderBy(a => a.Title));
                var subset = new ActionSubset(cls)
                {
                    Actions = actions
                };
                this.Subsets.Add(subset);
            }
        }
Example #2
0
 /// <summary> Constructs a new ViewActionEvent object. </summary>
 /// <param name="action"> The type of action this event will perform. </param>
 public ViewActionEvent(SourceActions action) : base()
 {
     Action = action;
 }
        public override void Parse(IPacketParser parser)
        {
            Sender = new NodeInfo
            {
                SerialNumber = parser.ParseAddress64(),
                NetworkAddress = parser.ParseAddress16()
            };

            Option = (PacketOption) parser.Read("Option");

            Remote = new NodeInfo
            {
                NetworkAddress = parser.ParseAddress16(),
                SerialNumber = parser.ParseAddress64()
            };

            byte ch;

            // NI is terminated with 0
            while ((ch = parser.Read("Node Identifier")) != 0)
            {
                if (ch > 32 && ch < 126)
                    Remote.NodeIdentifier += (char) ch;
            }

            ParentAddress = parser.ParseAddress16();
            NodeType = (NodeType) parser.Read("Device Type");
            SourceAction = (SourceActions) parser.Read("Source Action");
            ProfileId = UshortUtils.ToUshort(parser.Read("Profile MSB"), parser.Read("Profile LSB"));
            MfgId = UshortUtils.ToUshort(parser.Read("MFG MSB"), parser.Read("MFG LSB"));
        }