private void YesButton_Click(object sender, RoutedEventArgs e) { if (InputTextBox.Text != string.Empty) { TriggerList l = new TriggerList(); l.DisplayName = InputTextBox.Text; DataQuery.Instance.AllTriggers.Add(l); InputBox.Visibility = Visibility.Collapsed; } }
private void btnAddCode_Click(object sender, RoutedEventArgs e) { TriggerEdit ed = new TriggerEdit(); var item = lstBoxTriggers.SelectedItem; if (item is TriggerList) { ed.ShowNewTrigger(item as TriggerList); lstBoxTriggers.Items.Refresh(); foreach (var it in lstBoxTriggers.Items) { if (it is TriggerList) { TriggerList item2 = item as TriggerList; TriggerList bg34 = it as TriggerList; if (item2.DisplayName == bg34.DisplayName) { item2.IsExpanded = true; } } } } else { //trying to get parent itemlist TriggerList trytofind = DataQuery.Instance.FindParentList(item as Trigger); if (trytofind != null) { ed.ShowNewTrigger(trytofind); } else { ed.ShowNewTrigger(); } lstBoxTriggers.Items.Refresh(); foreach (var it in lstBoxTriggers.Items) { if (it is TriggerList) { TriggerList bg34 = it as TriggerList; if (trytofind.DisplayName == bg34.DisplayName) { bg34.IsExpanded = true; } } } } //Refresh gui //http://stackoverflow.com/questions/11540459/create-refresh-a-wpf-treeview-and-remember-expanded-nodes-without-xaml //lstBoxTriggers.UpdateLayout(); }
public TriggerList FindParentList(Trigger t) { foreach (var item in AllTriggers) { if (item is TriggerList) { TriggerList x = (TriggerList)item; foreach (var newitem in x.Children) { if (newitem == t) { return(x); } } } } return(null); }
public void ShowNewTrigger(TriggerList parent) { _parent = parent; ShowNewTrigger(); }
private void btnSaveTrigger_Click(object sender, RoutedEventArgs e) { if (bEditView) { //var prevItem = DataQuery.Instance.AllTriggers.Where(i => i.IsEqual(_trigger)).First(); //var index = DataQuery.Instance.AllTriggers.IndexOf(prevItem); //DataQuery.Instance.AllTriggers[index] = _trigger; foreach (ITrigger item in DataQuery.Instance.AllTriggers) { if (item.HasChildren()) { var temp = item as TriggerList; var prevItem = temp.Children.FirstOrDefault(i => i.IsEqual(_trigger)); var index = temp.Children.IndexOf(prevItem); if (prevItem != null && index != -1) { temp.Children[index] = _trigger; } } else { var trigger = item as Trigger; if (trigger.IsEqual(_trigger)) { var index = DataQuery.Instance.AllTriggers.IndexOf(trigger); if (index != -1) { DataQuery.Instance.AllTriggers[index] = _trigger; break; } } } } } else { _trigger.RoomInfo.WorldNumber = GetSubstring(comboWorld.SelectedItem.ToString()); _trigger.RoomInfo.RoomNumber = GetSubstring(comboRoom.SelectedItem.ToString()); if (chkEnableEvent.IsChecked == true) { _trigger.HasEvent = true; _trigger.RoomInfo.EventNumberMain = GetSubstring(comboEvent.SelectedItem.ToString()); } else { _trigger.HasEvent = false; _trigger.RoomInfo.EventNumberMain = 0; } _trigger.StopWhenMapIsLoaded = chkStopAfterLoad.IsChecked ?? false; _trigger.IsWorldWarp = chkWorldWarp.IsChecked ?? false; if (_parent == null) { DataQuery.Instance.AllTriggers.Add(_trigger); } else { TriggerList item = (TriggerList)DataQuery.Instance.AllTriggers.Where(x => x.DisplayName == _parent.DisplayName).First(); item.Children.Add(_trigger); } } this.Close(); }