TreeViewItem _BuildCategoryNode(AbstractSettingsPage Page) { var ret = new TreeViewItem(); ret.Tag = Page; ret.Header = Page.SettingCategoryName; var subCategories = Page.SubCategories; if(subCategories!=null) foreach(var sc in subCategories) ret.Items.Add(_BuildCategoryNode(sc)); return ret; }
void RestoreDefaults(AbstractSettingsPage p) { p.RestoreDefaults(); if (p.SubCategories != null) foreach (var ssp in p.SubCategories) RestoreDefaults(ssp); }
bool ApplySettings(AbstractSettingsPage p) { if (!p.ApplyChanges()) return false; if (p.SubCategories != null) foreach (var ssp in p.SubCategories) if (!ApplySettings(ssp)) return false; return true; }