Example #1
0
 public void ClearAllFlagsWhere(FlagKind kind)
 {
     ClearAllFlagsWhere(delegate(NodeFlag flag)
     {
         return(flag.Kind == kind);
     });
 }
Example #2
0
        public static NodeFlag Register(MathIdentifier id, Type ownerType, FlagKind kind)
        {
            NodeEvent dirtiedEvent = NodeEvent.Register
                                     (
                id.DerivePostfix("DirtiedEvent"),
                typeof(EventHandler <NodeFlagDirtiedEventArgs>),
                ownerType
                                     );
            NodeEvent changedEvent = NodeEvent.Register
                                     (
                id.DerivePostfix("ChangedEvent"),
                typeof(EventHandler <NodeFlagChangedEventArgs>),
                ownerType
                                     );
            NodeEvent enabledEvent = NodeEvent.Register
                                     (
                id.DerivePostfix("EnabledEvent"),
                typeof(EventHandler <NodeFlagChangedEventArgs>),
                ownerType
                                     );
            NodeEvent noLongerEnabledEvent = NodeEvent.Register
                                             (
                id.DerivePostfix("NoLongerEnabledEvent"),
                typeof(EventHandler <NodeFlagChangedEventArgs>),
                ownerType
                                             );
            NodeFlag nf = new NodeFlag(id, ownerType, null, kind, dirtiedEvent, changedEvent, enabledEvent, noLongerEnabledEvent);

            return(nf);
        }
Example #3
0
 private NodeFlag(MathIdentifier id, Type ownerType, IdentifierService <MathIdentifier> service, FlagKind kind,
                  NodeEvent dirtiedEvent, NodeEvent changedEvent, NodeEvent enabledEvent, NodeEvent noLongerEnabledEvent)
     : base(id, ownerType, service)
 {
     _kind                 = kind;
     _dirtiedEvent         = dirtiedEvent;
     _changedEvent         = changedEvent;
     _enabledEvent         = enabledEvent;
     _noLongerEnabledEvent = noLongerEnabledEvent;
 }
Example #4
0
        public static NodeFlag Register(MathIdentifier id, Type ownerType, FlagKind kind, params NodeEventTrigger[] triggers)
        {
            NodeFlag nf = Register(id, ownerType, kind);

            foreach (NodeEventTrigger trigger in triggers)
            {
                if (trigger.RegisterAtRemoteFlag)
                {
                    trigger.RemoteFlag.AddRemoteEventTrigger(trigger, nf);
                    continue;
                }
                if (trigger.RegisterAtRemoteProperty)
                {
                    trigger.RemoteProperty.AddRemoteEventTrigger(trigger, nf);
                    continue;
                }
                nf.AddEventFlagTrigger(trigger, nf);
            }
            return(nf);
        }