public static void HideControls(WrapPanel wp, int configId) { // get a class object with all child controls UIHandler ui = UIHandler.GetChildren(wp); ConfigsVisualHandler cv = new ConfigsVisualHandler(); //Border b = (Border)cv.MWindow.FindName("brdNONDYNAMICvfilters"); // get a list of system codes List <string> codes = (from a in GSystem.GetSystems() select a.systemCode.ToString().ToLower()).ToList(); // iterate through each ui element and collapse the ones that are not needed for system specific settings if (configId != 2000000000) { //b.Visibility = Visibility.Collapsed; foreach (Button x in ui.Buttons) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (CheckBox x in ui.CheckBoxes) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (ComboBox x in ui.ComboBoxes) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (NumericUpDown x in ui.NumericUpDowns) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (RadioButton x in ui.RadioButtons) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (Slider x in ui.Sliders) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Collapsed; } } foreach (TextBox x in ui.TextBoxes) { if (x.Name.StartsWith("cfg___") || x.Name.StartsWith("tb_Generic__")) { x.Visibility = Visibility.Collapsed; } } foreach (Label x in ui.Labels) { if (x.Name.StartsWith("cfg___") || x.Name.StartsWith("lbl_cfg___") || x.Name.StartsWith("lbl_Generic__")) { x.Visibility = Visibility.Collapsed; } } } else { GlobalSettings gs = GlobalSettings.GetGlobals(); if (gs.showAllBaseSettings == true) { //b.Visibility = Visibility.Collapsed; } else { //b.Visibility = Visibility.Visible; foreach (Button x in ui.Buttons) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (CheckBox x in ui.CheckBoxes) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (ComboBox x in ui.ComboBoxes) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (NumericUpDown x in ui.NumericUpDowns) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (RadioButton x in ui.RadioButtons) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (Slider x in ui.Sliders) { if (x.Name.StartsWith("cfg___")) { x.Visibility = Visibility.Visible; } } foreach (TextBox x in ui.TextBoxes) { if (x.Name.StartsWith("cfg___") || x.Name.StartsWith("tb_Generic__")) { x.Visibility = Visibility.Visible; } } foreach (Label x in ui.Labels) { if (x.Name.StartsWith("cfg___") || x.Name.StartsWith("lbl_cfg___") || x.Name.StartsWith("lbl_Generic__")) { x.Visibility = Visibility.Visible; } } } } }
/// <summary> /// 1 = set tooltips /// 2 = unset tooltips /// </summary> /// <param name="SetOrUnset"></param> public static void SetToolTips(int SetOrUnset) { // get all config controls MainWindow mw = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); // find the root grid Grid RootGrid = (Grid)mw.FindName("RootGrid"); UIHandler ui = UIHandler.GetChildren(RootGrid); UIHandler u = new UIHandler(); u.Buttons = ui.Buttons.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <Button>(); u.CheckBoxes = ui.CheckBoxes.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <CheckBox>(); u.Colorpickers = ui.Colorpickers.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <ColorPicker>(); u.ComboBoxes = ui.ComboBoxes.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <ComboBox>(); u.Labels = ui.Labels.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <Label>(); u.NumericUpDowns = ui.NumericUpDowns.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <NumericUpDown>(); u.RadioButtons = ui.RadioButtons.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <RadioButton>(); u.Sliders = ui.Sliders.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <Slider>(); u.TextBoxes = ui.TextBoxes.Where(a => a.Name.StartsWith("cfg_") || a.Name.StartsWith("cfglbl_")).ToList() ?? new List <TextBox>(); u.ToggleButtons = new List <System.Windows.Controls.Primitives.ToggleButton>(); // load json List <ToolTips> tips = JsonConvert.DeserializeObject <List <ToolTips> >(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"Data\System\ToolTips.json")); // now iterate through each set of controls and assign the tooltips foreach (Button c in u.Buttons) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (CheckBox c in u.CheckBoxes) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (ColorPicker c in u.Colorpickers) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (ComboBox c in u.ComboBoxes) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (Label c in u.Labels) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (NumericUpDown c in u.NumericUpDowns) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (RadioButton c in u.RadioButtons) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } foreach (Slider c in u.Sliders) { string Name = c.Name.Replace("cfglbl_", "").Replace("cfg_", "").Replace("__", "."); // lookup description var bu = tips.Where(a => a.Command.Contains(Name)).ToList(); if (bu.Count() > 0) { ToolTip tool = new ToolTip(); TextBlock tb = new TextBlock(); tb.TextWrapping = TextWrapping.Wrap; tb.MaxWidth = 800; tb.Text = bu.First().Description; tool.Content = tb; if (c.ToolTip == null) { c.ToolTip = tool; } } } // skip textboxes }