internal ACommand(int id, string name, TargetType target, MappingType mappingType, MappingSettings rawSettings) { RawSettings = rawSettings; Id = id; Name = name; Target = target; MappingType = mappingType; updateAssignmentOptions(); if (!AssignmentOptions.ContainsKey(Assignment)) { RawSettings.Target = AssignmentOptions.First().Key; } updateControlTypeOptions(); if (!ControlTypeOptions.ContainsKey(ControlType)) { RawSettings.ControlType = ControlTypeOptions.First().Key; } updateControlInteractionOptions(); if (!ControlInteractionOptions.ContainsKey(InteractionMode)) { RawSettings.InteractionMode = ControlInteractionOptions.First().Key; } updateControl(); }
internal EnumCondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number) : base(id, name, target, rawSettings, number) { if (!typeof(T).IsEnum) { throw new Exception("T must be an Enumeration type."); } }
/// <summary> /// Set condition by proxy. /// </summary> /// <param name="mappingSettings">Format.MappingSettings needed by proxy for creation of condition</param> /// <param name="number">Number of condition</param> /// <param name="proxy">ConditionProxy or null to reset condition.</param> /// <returns>True if condition was changed.</returns> internal bool SetCondition(Format.MappingSettings mappingSettings, ConditionNumber number, ConditionProxy proxy) { ACondition condition = (proxy != null) ? proxy.Create(mappingSettings, number) : null; if (condition != null) { condition.Assignment = condition.AssignmentOptions.Keys.First(); condition.SetValue(condition.GetValueOptions().Keys.First()); } return(setCondition(number, condition)); }
public void Swap() { Format.MappingSettings rawSettings = (Condition1 != null) ? Condition1.RawSettings : (Condition2 != null) ? Condition2.RawSettings : null; if (rawSettings == null) { return; } var swap = Condition1; SetCondition(rawSettings, ConditionNumber.One, Condition2); SetCondition(rawSettings, ConditionNumber.Two, swap); }
internal ACondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number) { RawSettings = rawSettings; _number = number; Id = id; Name = name; Target = target; _valueProperty = GetType().GetProperty("Value"); updateAssignmentOptions(); syncSettings(); }
/// <summary> /// Set condition by another condition. /// </summary> /// <param name="mappingSettings">Format.MappingSettings needed by proxy for creation of condition</param> /// <param name="number">Number of condition</param> /// <param name="condition">ACondition or null to reset condition.</param> /// <returns>True if condition was changed.</returns> internal bool SetCondition(Format.MappingSettings mappingSettings, ConditionNumber number, ACondition condition) { if (condition == null) { return(setCondition(number, condition)); } else { bool changed = false; var targetCondition = (number == ConditionNumber.One) ? Condition1 : Condition2; if (targetCondition == null || targetCondition.Id != condition.Id) { changed = SetCondition(mappingSettings, number, Conditions.All.GetConditionProxy(condition.Id)); targetCondition = (number == ConditionNumber.One) ? Condition1 : Condition2; // needed? } // set assignment if (!changed) { changed |= targetCondition.Assignment != condition.Assignment; } targetCondition.Assignment = condition.Assignment; // set value var newValue = condition.GetValue(); if (!changed) { changed |= targetCondition.GetValue() != newValue; } targetCondition.SetValue(newValue); return(changed); } }
internal IntCondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number) : base(id, name, target, rawSettings, number) { }