private void UpdateGUIFromSetting(string name, SlicerSettingsItem setting) { if (tab_frame == null) { return; } Element2D childElement = tab_frame.FindChildElement(name); if (childElement == null) { return; } var userValue = setting.TranslateToUserValue(); switch (setting.GetItemType()) { case SettingItemType.IntType: case SettingItemType.FloatMMType: var editBoxWidget = childElement as EditBoxWidget; if (editBoxWidget != null) { editBoxWidget.Text = userValue; break; } break; case SettingItemType.BoolType: var buttonWidget = childElement as ButtonWidget; if (buttonWidget != null) { buttonWidget.Checked = bool.Parse(userValue); break; } break; case SettingItemType.FillPatternType: case SettingItemType.SupportPatternType: var comboBoxWidget = childElement as ComboBoxWidget; var settingsEnumItem = setting as SlicerSettingsEnumItem; if (comboBoxWidget != null && settingsEnumItem != null) { comboBoxWidget.Select = settingsEnumItem.ValueInt; break; } break; default: throw new NotImplementedException("GenerateAdvancedSettings was given an unknown setting"); } ProcessValidity(name, setting, childElement); }