private void MultiTrigger_AddTriggerClicked(Controls.MultiTrigger sender) { if (sender.ParentMultiTrigger != null && sender.ParentValue != null && sender.ParentEvent != null) { if (sender.ParentEvent.values.Contains(sender.ParentValue)) { Controls.Event e = events.Find(x => x.ParentEvent == sender.ParentEvent); if (e != null) { int index = e.Values.ToList().FindIndex(x => x.ParentValue == sender.ParentValue); if (index >= 0) { Controls.Value v = e.Values[index]; if (v != null) { var t = new Trigger(); Controls.Trigger tr = CreateTrigger(t, sender.ParentValue, sender.ParentEvent); sender.ParentMultiTrigger.triggers.Add(t); tr.modifier_COMBO.SelectedItem = "Equal To"; sender.Triggers.Add(tr); } } } } } }
private void Value_AddMultiTriggerClicked(Controls.Value val) { if (val.ParentValue != null && val.ParentEvent != null) { if (val.ParentEvent.values.Contains(val.ParentValue)) { Controls.Event e = events.Find(x => x.ParentEvent == val.ParentEvent); if (e != null) { int index = e.Values.ToList().FindIndex(x => x.ParentValue == val.ParentValue); if (index >= 0) { Controls.Value v = e.Values[index]; if (v != null) { var multitrigger = new MultiTrigger(); val.ParentValue.triggers.Add(multitrigger); Controls.MultiTrigger uiMultiTrigger = CreateMultiTrigger(multitrigger, val.ParentValue, val.ParentEvent); var trigger = new Trigger(); multitrigger.triggers.Add(trigger); Controls.Trigger uiTrigger = CreateTrigger(trigger, uiMultiTrigger.ParentValue, uiMultiTrigger.ParentEvent); uiTrigger.modifier_COMBO.SelectedItem = "Equal To"; uiMultiTrigger.Triggers.Add(uiTrigger); val.Triggers.Add(uiMultiTrigger); } } } } } }
void Value_AddTriggerClicked(Controls.Value val) { if (val.ParentValue != null && val.ParentEvent != null) { if (val.ParentEvent.values.Contains(val.ParentValue)) { Controls.Event e = events.Find(x => x.ParentEvent == val.ParentEvent); if (e != null) { int index = e.Values.ToList().FindIndex(x => x.ParentValue == val.ParentValue); if (index >= 0) { Controls.Value v = e.Values[index]; if (v != null) { var t = new Trigger(); val.ParentValue.triggers.Add(t); Controls.Trigger tr = CreateTrigger(t, val.ParentValue, val.ParentEvent); tr.modifier_COMBO.SelectedItem = "Equal To"; val.Triggers.Add(tr); } } } } } }
Controls.Value CreateValue(Value v, Event e) { Controls.Value result = new Controls.Value(); result.ParentEvent = e; result.ParentValue = v; result.SettingChanged += result_SettingChanged; result.RemoveClicked += Value_RemoveClicked; result.AddTriggerClicked += Value_AddTriggerClicked; result.AddMultiTriggerClicked += Value_AddMultiTriggerClicked; if (v.result != null) { result.ValueName = v.result.value.Replace('_', ' '); } foreach (Trigger t in v.triggers.OfType <Trigger>()) { Controls.Trigger tr = CreateTrigger(t, v, e); result.Triggers.Add(tr); } foreach (MultiTrigger t in v.triggers.OfType <MultiTrigger>()) { Controls.MultiTrigger tr = CreateMultiTrigger(t, v, e); result.Triggers.Add(tr); } return(result); }
void Value_RemoveClicked(Controls.Value val) { if (val.ParentValue != null && val.ParentEvent != null) { if (val.ParentEvent.values.Contains(val.ParentValue)) { val.ParentEvent.values.Remove(val.ParentValue); Controls.Event e = events.Find(x => x.ParentEvent == val.ParentEvent); if (e != null) { if (e.Values.Contains(val)) { e.Values.Remove(val); } } } } }
Controls.Event CreateEvent(Event e) { var result = new Controls.Event(); result.ParentPage = this; result.ParentEvent = e; result.Description = e.description; result.SettingChanged += Event_SettingChanged; result.AddValueClicked += Event_AddValueClicked; result.AddCaptureItemClicked += Event_AddCaptureItemClicked; foreach (Value v in e.values) { Controls.Value val = CreateValue(v, e); result.Values.Add(val); } foreach (CaptureItem ci in e.captureItems) { Controls.CaptureItem cap = CreateCaptureItem(ci, e); result.CaptureItems.Add(cap); } // Default var def = new Controls.Default(); def.ParentResult = e.Default; if (e.Default != null) { def.ValueName = e.Default.value; } def.SettingChanged += def_SettingChanged; result.DefaultValue = def; return(result); }
void MultiTrigger_RemoveClicked(Controls.MultiTrigger t) { if (t.ParentMultiTrigger != null && t.ParentValue != null && t.ParentEvent != null) { t.ParentValue.triggers.Remove(t.ParentMultiTrigger); if (t.ParentEvent.values.Contains(t.ParentValue)) { Controls.Event e = events.Find(x => x.ParentEvent == t.ParentEvent); if (e != null) { Controls.Value v = e.Values.ToList().Find(x => x.ParentValue == t.ParentValue); if (v != null) { if (v.Triggers.Contains(t)) { v.Triggers.Remove(t); } } } } } }
Controls.Value CreateValue(Value v, Event e) { Controls.Value result = new Controls.Value(); result.ParentEvent = e; result.ParentValue = v; result.SettingChanged += result_SettingChanged; result.RemoveClicked += Value_RemoveClicked; result.AddTriggerClicked += Value_AddTriggerClicked; result.AddMultiTriggerClicked += Value_AddMultiTriggerClicked; if (v.result != null) { result.ValueName = v.result.value.Replace('_', ' '); } foreach (Trigger t in v.triggers.OfType<Trigger>()) { Controls.Trigger tr = CreateTrigger(t, v, e); result.Triggers.Add(tr); } foreach (MultiTrigger t in v.triggers.OfType<MultiTrigger>()) { Controls.MultiTrigger tr = CreateMultiTrigger(t, v, e); result.Triggers.Add(tr); } return result; }