private void ctrlBtnEventNew_Click(object sender, RoutedEventArgs e) { ClusterEventWindow Wnd = new ClusterEventWindow(); Wnd.WindowStartupLocation = WindowStartupLocation.CenterOwner; Wnd.Owner = this; Wnd.AvailableCategories = GetAvailableCategories(); Wnd.AvailableTypes = GetAvailableTypes(); Wnd.AvailableNames = GetAvailableNames(); bool?RetVal = Wnd.ShowDialog(); if (RetVal.HasValue && RetVal == true) { Dictionary <string, string> ArgMap = new Dictionary <string, string>(); ClusterEvent NewEvt = new ClusterEvent(Wnd.SelectedCategory, Wnd.SelectedType, Wnd.SelectedName, Wnd.GetArgDictionary()); NewEvt.RebuildJsonStringForGui(); ClusterEvents.Add(NewEvt); RegistrySaver.AddRegistryValue(RegistrySaver.RegCategoryClusterEvents, NewEvt.SerializeToString()); AppLogger.Log("New cluster event stored: " + NewEvt.ToString()); } else { // Nothing to do } }
private void ctrlBtnEventModify_Click(object sender, RoutedEventArgs e) { if (ctrlListClusterEvents.SelectedItems.Count > 0) { List <ClusterEvent> ItemsToModify = new List <ClusterEvent>(); foreach (ClusterEvent Evt in ctrlListClusterEvents.SelectedItems) { ItemsToModify.Add(Evt); } foreach (ClusterEvent Evt in ItemsToModify) { int Idx = ClusterEvents.IndexOf(Evt); if (Idx >= 0) { ClusterEventWindow Wnd = new ClusterEventWindow(); Wnd.WindowStartupLocation = WindowStartupLocation.CenterOwner; Wnd.Owner = this; Wnd.AvailableCategories = GetAvailableCategories(); Wnd.AvailableTypes = GetAvailableTypes(); Wnd.AvailableNames = GetAvailableNames(); Wnd.SelectedCategory = Evt.Category; Wnd.SelectedType = Evt.Type; Wnd.SelectedName = Evt.Name; Wnd.SetArgDictionary(Evt.Parameters); bool?RetVal = Wnd.ShowDialog(); if (RetVal.HasValue && RetVal == true) { RegistrySaver.RemoveRegistryValue(RegistrySaver.RegCategoryClusterEvents, ClusterEvents[Idx].SerializeToString()); ClusterEvents[Idx] = new ClusterEvent(Wnd.SelectedCategory, Wnd.SelectedType, Wnd.SelectedName, Wnd.GetArgDictionary()); RegistrySaver.AddRegistryValue(RegistrySaver.RegCategoryClusterEvents, ClusterEvents[Idx].SerializeToString()); } } } UpdateJsonInfo(); } }