private void createChildMenus(BooleanButton parent, SettingsBlock module) { foreach (ISetting setting in module.Members.Where(setting => !String.IsNullOrWhiteSpace(setting.Key))) { if( setting is Setting<bool>) parent.AddChild(new BooleanButton(Settings, setting.Key, setting as Setting<bool>)); else if (setting is Setting<Color>) parent.AddChild(new ColorPicker(Settings, setting.Key, setting as Setting<Color>)); else if (setting is SettingsBlock) { var sm = setting as SettingsForModule; var c = new BooleanButton(Settings,setting.Key, sm == null ? null : sm.Enabled); parent.AddChild(c); createChildMenus(c, setting as SettingsBlock); } if (setting is SettingIntRange) { var sir = setting as SettingIntRange; parent.AddChild(new IntPicker(Settings, setting.Key, sir)); } } }
public void AddModule(SettingsBlock settingsNode) { settingsNode.AttachToParent(this); this.AllMembers.Add(settingsNode.Key, settingsNode); settingsNode.SetObserver(UpdateBridge); }
public void AddModule(SettingsBlock settingsNode) { settingsNode.AttachToParent(this); this.AllMembers.Add(settingsNode.Key, settingsNode); settingsNode.SetObserver(UpdateBridge); }