public override void GetOptions <TOption>(List <TOption> options, bool vbUI, AllowOptionDelegate <TOption> allow) { base.GetOptions(options, vbUI, allow); foreach (Manager manager in Managers) { if (vbUI) { List <TOption> subOptions = new List <TOption>(); manager.GetOptions(subOptions, vbUI, allow); if (subOptions.Count > 0) { TOption listing = new MasterListingOption(manager) as TOption; if (listing != null) { options.Add(listing); } } } else { manager.GetOptions(options, vbUI, allow); } } }
protected override bool PrivatePerform() { List <OptionItem> options = new List <OptionItem>(); Manager.GetOptions(options, true, null); Common.StringBuilder builder = new Common.StringBuilder(); int index = 0; while (index < options.Count) { OptionItem option = options[index]; index++; builder.Append(Common.NewLine + option.Name); MasterListingOption master = option as MasterListingOption; if (master != null) { foreach (OptionItem subItem in master.GetOptions()) { options.Insert(index, subItem); } } } Common.WriteLog(builder); return(true); }