private void BuildInternalStructures() { internalSettingsDictionary = new Dictionary <string, SlicerSettingsItem>(StringComparer.InvariantCultureIgnoreCase); List <XMLSettingsItem> allSettings = xmlSettings.GetAllSettings(); foreach (XMLSettingsItem xmlSettingsItem1 in allSettings) { XMLSettingsItem setting = xmlSettingsItem1; if (setting.SlicerSettingsItem is SettingsItemBoolRPCType) { ((SettingsItemBoolRPCType)setting.SlicerSettingsItem).SetParentSettings(this); } if (!setting.Name.StartsWith(XMLSetting.MagicInternalString, StringComparison.InvariantCultureIgnoreCase)) { internalSettingsDictionary.Add(setting.Name, setting.SlicerSettingsItem); } if (!string.IsNullOrEmpty(setting.GroupToggle)) { XMLSettingsItem xmlSettingsItem2 = allSettings.Find(item => item.Name == setting.GroupToggle); if (xmlSettingsItem2 != null) { setting.SlicerSettingsItem.GroupToggleSetting = xmlSettingsItem2.SlicerSettingsItem; setting.SlicerSettingsItem.ReverseGroupToggle = setting.ReverseGroupToggle; } } } }
private Element2D CreateComboBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder) { var slicerSettingsItem = settings.SlicerSettingsItem as SlicerSettingsEnumItem; var horzonalFrame = new Frame(ID_Builder++, vertLayout) { RelativeWidth = 1f, Height = 28 }; CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text); var comboBoxWidget = new ComboBoxWidget(ID_Builder++, horzonalFrame) { Value = slicerSettingsItem.ValueInt, tag = settings.Name }; comboBoxWidget.Init(host); comboBoxWidget.ItemsEnumString = slicerSettingsItem.EnumType.ToString(); comboBoxWidget.Select = slicerSettingsItem.ValueInt; comboBoxWidget.ToolTipMessage = settings.Tooltip; comboBoxWidget.Height = 24; comboBoxWidget.Width = 240; comboBoxWidget.X = 245; comboBoxWidget.Size = FontSize.Medium; comboBoxWidget.HexColor = "#FF808080"; comboBoxWidget.TextChangedCallback += new ComboBoxWidget.ComboBoxTextChangedCallback(comboBoxChangedCallBack); horzonalFrame.AddChildElement(comboBoxWidget); vertLayout.AddChildElement(horzonalFrame); return(comboBoxWidget); }
private Element2D CreateCheckBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder) { var horzonalFrame = new Frame(ID_Builder++, vertLayout) { RelativeWidth = 1f, Height = 28 }; CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text); var buttonWidget = new ButtonWidget(ID_Builder++, horzonalFrame); buttonWidget.Init(host, ButtonTemplate.CheckBox); buttonWidget.ToolTipMessage = settings.Tooltip; buttonWidget.ClickType = ButtonType.Checkable; buttonWidget.DontMove = true; buttonWidget.CanClickOff = true; buttonWidget.Height = 28; buttonWidget.Width = 28; buttonWidget.X = 245; buttonWidget.tag = settings.Name; buttonWidget.Checked = bool.Parse(settings.SlicerSettingsItem.TranslateToUserValue()); buttonWidget.SetCallback(new ButtonCallback(CheckBoxCallback)); buttonWidget.FadeWhenDisabled = true; horzonalFrame.AddChildElement(buttonWidget); vertLayout.AddChildElement(horzonalFrame); return(buttonWidget); }
private Element2D CreateTextBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder) { var slicerSettingsItem = settings.SlicerSettingsItem as IReportFormat; NumFormat numFormat = NumFormat.Thousands; if (slicerSettingsItem != null) { numFormat = slicerSettingsItem.Format; } var horzonalFrame = new Frame(ID_Builder++, vertLayout) { RelativeWidth = 1f, Height = 28 }; CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text); var editBoxWidget = new EditBoxWidget(ID_Builder++, horzonalFrame); editBoxWidget.Init(host, "guicontrols", 898f, 104f, 941f, 135f); editBoxWidget.Height = 25; editBoxWidget.Width = 75; editBoxWidget.MAX_CHARS = 7; editBoxWidget.X = 245; editBoxWidget.Size = FontSize.Medium; editBoxWidget.HexColor = "#FF808080"; editBoxWidget.ToolTipMessage = settings.Tooltip; editBoxWidget.FadeWhenDisabled = true; editBoxWidget.Text = settings.SlicerSettingsItem.TranslateToUserValue(); editBoxWidget.tag = settings.Name; editBoxWidget.NumFormat = numFormat; editBoxWidget.SetCallbackOnTextAdded(new EditBoxWidget.EditBoxCallback(EditBoxCallback)); editBoxWidget.SetCallbackOnBackspace(new EditBoxWidget.EditBoxCallback(EditBoxCallback)); horzonalFrame.AddChildElement(editBoxWidget); var textWidget1 = new TextWidget(ID_Builder++, horzonalFrame) { Width = 65, Height = 35, X = 325, Size = FontSize.Medium, HexColor = "#FF7f7f7f", Alignment = QFontAlignment.Left, Text = settings.Suffix }; horzonalFrame.AddChildElement(textWidget1); var textWidget2 = new TextWidget(ID_Builder++, horzonalFrame) { Width = 500, Height = 35, X = 395, Size = FontSize.Medium, HexColor = "#FF7f7f7f", Alignment = QFontAlignment.Left, Visible = true, tag = GetRangeText(settings.Name) }; horzonalFrame.AddChildElement(textWidget2); vertLayout.AddChildElement(horzonalFrame); return(editBoxWidget); }
private void GenerateFromSlicerSettings(SmartSlicerSettingsBase smartSlicerSettings) { this.smartSlicerSettings = smartSlicerSettings; tab_frame = new Frame(608, this) { X = 180, Y = 35, HexBorderColor = "#0C0C0C0C" }; AddChildElement(tab_frame); var YPos = 35; var num = 10000; List <XMLTabCollectionSettingsItem> visualSettings = smartSlicerSettings.VisualSettings; for (var index = 0; index < visualSettings.Count; ++index) { CreateTabButton(visualSettings[index].Header, ref num, YPos, 181, 64); YPos += 64; } for (var index1 = 0; index1 < visualSettings.Count; ++index1) { var scrollableVerticalLayout = new ScrollableVerticalLayout(num++, tab_frame); scrollableVerticalLayout.Init(host); scrollableVerticalLayout.tag = GetTabFrameTag(visualSettings[index1].Header); scrollableVerticalLayout.Visible = false; scrollableVerticalLayout.Enabled = false; scrollableVerticalLayout.RelativeWidth = 1f; scrollableVerticalLayout.RelativeHeight = 1f; for (var index2 = 0; index2 < visualSettings[index1].Items.Count; ++index2) { XMLSettingsItem settings = visualSettings[index1].Items[index2]; if (!settings.Name.StartsWith(XMLSetting.MagicInternalString + "Hidden", StringComparison.InvariantCultureIgnoreCase)) { Element2D element; switch (settings.SlicerSettingsItem.GetItemType()) { case SettingItemType.IntType: case SettingItemType.FloatMMType: element = CreateTextBox(scrollableVerticalLayout, settings, ref num); break; case SettingItemType.BoolType: element = CreateCheckBox(scrollableVerticalLayout, settings, ref num); break; case SettingItemType.FillPatternType: case SettingItemType.SupportPatternType: element = CreateComboBox(scrollableVerticalLayout, settings, ref num); break; default: throw new NotImplementedException("GenerateAdvancedSettings was given an unknown setting"); } if (element != null) { ProcessValidity(settings.Name, settings.SlicerSettingsItem, element); } } } tab_frame.AddChildElement(scrollableVerticalLayout); } Refresh(); if (visualSettings.Count == 0) { return; } (FindChildElement(GetTabButtonTag(visualSettings[0].Header)) as ButtonWidget)?.SetChecked(true); }