示例#1
0
 // ReSharper disable once TooManyDependencies
 Contexts(ICommand dispose, IMutable <object> store, Func <string, object> context, Func <object, ICommand> command)
 {
     _dispose = dispose;
     _store   = store;
     _context = context;
     _command = command;
 }
示例#2
0
 public Store(IMutable <T> mutable) : this(A.Result(mutable)
                                           .Then()
                                           .Select(Is.Assigned <T>())
                                           .Accept()
                                           .Out(),
                                           mutable)
 {
 }
示例#3
0
		internal MemberValue(MemberInfo memberInfo,
		                     Process process,
		                     IExpirable[] expireDependencies,
		                     IMutable[] mutateDependencies,
		                     CorValueGetter corValueGetter)
			:base (memberInfo.Name,
			       process,
			       expireDependencies,
			       mutateDependencies,
			       corValueGetter)
		{
			this.memberInfo = memberInfo;
		}
示例#4
0
		internal LocalVariable(string name,
		                       Process process,
		                       IExpirable[] expireDependencies,
		                       IMutable[] mutateDependencies,
		                       CorValueGetter corValueGetter)
			:base (name,
			       process,
			       expireDependencies,
			       mutateDependencies,
			       corValueGetter)
		{
			
		}
示例#5
0
		internal ArrayElement(uint[] indicies,
		                      Process process,
		                      IExpirable[] expireDependencies,
		                      IMutable[] mutateDependencies,
		                      CorValueGetter corValueGetter)
			:base (GetNameFromIndices(indicies),
			       process,
			       expireDependencies,
			       mutateDependencies,
			       corValueGetter)
		{
			this.indicies = indicies;
		}
示例#6
0
		internal MethodArgument(string name,
		                        int index,
		                        Process process,
		                        IExpirable[] expireDependencies,
		                        IMutable[] mutateDependencies,
		                        CorValueGetter corValueGetter)
			:base (name,
			       process,
			       expireDependencies,
			       mutateDependencies,
			       corValueGetter)
		{
			this.index = index;
		}
示例#7
0
		internal NamedValue(string name,
		                    Process process,
		                    IExpirable[] expireDependencies,
		                    IMutable[] mutateDependencies,
		                    CorValueGetter corValueGetter)
			:base (process,
			       expireDependencies,
			       mutateDependencies,
			       corValueGetter)
		{
			this.name = name;
			
			// TODO: clean up
			if (name.StartsWith("<") && name.Contains(">") && name != "<Base class>") {
				string middle = name.TrimStart('<').Split('>')[0]; // Get text between '<' and '>'
				if (middle != "") {
					this.name = middle;
				}
			}
		}
示例#8
0
 public AddRange(IMutable <Array <T> > array) => _array = array;
示例#9
0
 /// <summary>
 /// Adds a mutable status event.
 /// </summary>
 /// <param name="statusEvent">The status event.</param>
 protected void AddStatusEvent(IMutable statusEvent)
 {
     this.statusEventsKey.Insert(0, new StatusEvent(statusEvent));
 }
示例#10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StatusEvent"/> class.
 /// </summary>
 /// <param name="eventData">The mutable event data.</param>
 public StatusEvent(IMutable eventData)
     : this()
 {
     this.mutableEventData = eventData;
     this.mutableEventData.ValueChanged += this.OnEventDataChanged;
 }
示例#11
0
 void AddMutateDependency(IMutable dependency)
 {
     dependency.Changed += delegate { NotifyChange(); };
 }
示例#12
0
 public DelayedIntCastArgs(int value, IMutable target)
 {
     this.value  = value;
     this.target = target;
 }
示例#13
0
 public Registry(IMutable <Array <T> > source) : this(source, new AddRange <T>(source), new Add <T>(source))
 {
 }
 public static void CallMutate(this IMutable target)
 {
     target.Mutate();
 }
示例#15
0
 public Store(ICondition <None> condition, IMutable <T> mutable) : base(mutable) => Condition = condition;
示例#16
0
 public Store(IMutable <T> mutable) : this(mutable.Select(IsAssigned <T> .Default).ToSelect().ToCondition(),
                                           mutable)
 {
 }
示例#17
0
 public Contexts(ICommand dispose, IMutable <object> store, Func <string, object> context)
     : this(dispose, store, context, store.AsCommand().Then().Out)
 {
 }
示例#18
0
 public Mutable(IMutable <T> mutable) : this(mutable.Execute, mutable.Get)
 {
 }
示例#19
0
		void AddMutateDependency(IMutable dependency)
		{
			dependency.Changed += delegate { NotifyChange(); };
		}
示例#20
0
		internal Value(Process process,
		               IExpirable[] expireDependencies,
		               IMutable[] mutateDependencies,
		               CorValueGetter corValueGetter)
		{
			this.process = process;
			
			AddExpireDependency(process);
			foreach(IExpirable exp in expireDependencies) {
				AddExpireDependency(exp);
			}
			
			foreach(IMutable mut in mutateDependencies) {
				AddMutateDependency(mut);
			}
			
			this.corValueGetter = corValueGetter;
		}