public EnumParam( string name, string wpfName, Func <string> descriptionGetter, TEnum defaultOption, ParamsDescriptionGroup descGroup = null, Action <string> afterParsing = null) : base(name, wpfName, descriptionGetter, descGroup, afterParsing) { // Have to check it in run-time because for some reason C# disallows Enum as generic // type constraint (public class EnumParam<TEnum> : Param where TEnum : Enum). if (!(defaultOption is Enum)) { throw new ArgumentException("Only enums are allowed as EnumParam type."); } foreach (var field in typeof(TEnum).GetFields()) { if (field.Name.Equals("value__")) { continue; } options.Add(field.Name, (TEnum)field.GetRawConstantValue()); } }
public Flag( string name, string wpfName, Func <string> descriptionGetter, ParamsDescriptionGroup descGroup = null) : this(name, wpfName, descriptionGetter, false, descGroup) { }
public Flag( string name, string wpfName, Func<string> descriptionGetter, ParamsDescriptionGroup descGroup = null) : this(name, wpfName, descriptionGetter, false, descGroup) { }
public Flag( string name, string wpfName, Func <string> descriptionGetter, bool defaultValue, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, descGroup) { Value = defaultValue; }
public Flag( string name, string wpfName, Func<string> descriptionGetter, bool defaultValue, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, descGroup) { Value = defaultValue; }
public StringParam( string name, string wpfName, Func <string> descriptionGetter, string defaultValue, ParamsDescriptionGroup descGroup = null, Action <string> parsedAction = null) : base(name, wpfName, descriptionGetter, descGroup, parsedAction) { Value = defaultValue; }
public StringParam( string name, string wpfName, Func<string> descriptionGetter, string defaultValue, ParamsDescriptionGroup descGroup = null, Action<string> parsedAction = null) : base(name, wpfName, descriptionGetter, descGroup, parsedAction) { Value = defaultValue; }
public PathParam( string name, string wpfName, Func <string> descriptionGetter, string defaultValue, string defaultPathToBrowse = null, Action <string> parsedAction = null, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, defaultValue, descGroup, parsedAction) { this.defaultPathToBrowse = defaultPathToBrowse; }
public PathParam( string name, string wpfName, Func<string> descriptionGetter, string defaultValue, string defaultPathToBrowse = null, Action<string> parsedAction = null, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, defaultValue, descGroup, parsedAction) { this.defaultPathToBrowse = defaultPathToBrowse; }
public MultipleChoiceParam( string name, string wpfName, IEnumerable <string> options, IEnumerable <int> defaultOptions, Func <string> descriptionGetter, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, descGroup) { this.options = options.ToArray(); foreach (var defaultOption in defaultOptions) { chosenOptions.Add(defaultOption); } }
public MultipleChoiceParam( string name, string wpfName, IEnumerable<string> options, IEnumerable<int> defaultOptions, Func<string> descriptionGetter, ParamsDescriptionGroup descGroup = null) : base(name, wpfName, descriptionGetter, descGroup) { this.options = options.ToArray(); foreach (var defaultOption in defaultOptions) { chosenOptions.Add(defaultOption); } }
public Param( string name, string wpfName, Func <string> descriptionGetter, ParamsDescriptionGroup descGroup = null, Action <string> parsedAction = null) { Name = name; WpfName = wpfName; DescriptionGroup = descGroup; this.descriptionGetter = descriptionGetter; if (parsedAction != null) { AfterParsing += (param) => parsedAction(param); } }
public Param( string name, string wpfName, Func<string> descriptionGetter, ParamsDescriptionGroup descGroup = null, Action<string> parsedAction = null) { Name = name; WpfName = wpfName; DescriptionGroup = descGroup; this.descriptionGetter = descriptionGetter; if (parsedAction != null) { AfterParsing += (param) => parsedAction(param); } }
public List<Param> GetParamsByGroup(ParamsDescriptionGroup group) { return groupParamsMap[group.GetHashCode()]; }
public Configuration(string[] supportedAvailability, string publicAvailabilityFlag, string[] supportedLanguages, bool runningGUI) { ParamsManager = new ParamsManager(); var groupDescBoth = new ParamsDescriptionGroup(() => Language.Message("ParamGroupDescBoth")); var groupDescDir = new ParamsDescriptionGroup(() => Language.Message("ParamGroupDescDir")); var groupDescFile = new ParamsDescriptionGroup(() => Language.Message("ParamGroupDescFile")); // looking for localization param, before any text display LocParam = new EnumParam<LocalizationLanguage>( "loc", "Localization language", () => Language.Message("ParamDescLoc", string.Join(", ", Language.AvailableLangIDs)), LocalizationLanguage.INT, groupDescBoth, arg => { // need to update it right after parsing to allow proper messages Language.LangID = arg; }); PublishFlagsParam = new MultipleChoiceParam( "publish", "Publish flags", supportedAvailability, Enumerable.Range(0, supportedAvailability.Length), () => Language.Message("ParamDescPublish", publicAvailabilityFlag, string.Join(", ", supportedAvailability)), groupDescBoth); OutputFormatParam = new EnumParam<OutputFormat>( "outputFormat", "Output format", () => Language.Message("ParamDescOutputFormat"), OutputFormat.HTML, groupDescBoth); LangParam = new MultipleChoiceParam( "lang", "Languages", supportedLanguages, Enumerable.Range(0, supportedLanguages.Length), () => Language.Message("ParamDescLang", string.Join(", ", supportedLanguages)), groupDescDir); LinksToAllLangs = new Flag( "linksToAllLangs", "Links to all langs", () => Language.Message("ParamDescLinksToAllLangs"), groupDescDir); if (runningGUI) { PublishFlagsParam.Parse(User.Default.SupportedAvailability); OutputFormatParam.Parse(User.Default.OutputFormat); LangParam.Parse(User.Default.SupportedLanguages); } TemplateParam = new StringParam( "t", "Default template", () => Language.Message("ParamDescT"), runningGUI ? User.Default.DefaultTemplate : Settings.Default.DefaultTemplate, groupDescBoth); OutputParam = new StringParam( "o", "Output directory", () => Language.Message("ParamDescO"), runningGUI ? User.Default.OutputDirectory : Settings.Default.OutputDirectory, groupDescBoth); SourceParam = new StringParam( "s", "Source directory", () => Language.Message("ParamDescS"), runningGUI ? User.Default.SourceDirectory : Settings.Default.SourceDirectory, groupDescBoth); LogVerbosityParam = new EnumParam<LogVerbosity>( "v", "Logging verbosity", () => Language.Message("ParamDescV"), LogVerbosity.Info, groupDescBoth); DoxygenCacheParam = new StringParam( "doxygenCache", "Doxygen cache location", () => Language.Message("ParamDescDoxygenCache"), "", groupDescBoth); RebuildDoxygenCacheParam = new StringParam( "rebuildDoxygenCache", "If you want to rebuild Doxygen cache put here doxygen exec path", () => Language.Message("ParamDescRebuildDoxygenCache"), "", groupDescBoth); var absoluteSourceDir = new DirectoryInfo(Settings.Default.SourceDirectory).FullName; PathPrefixParam = new PathParam( "pathPrefix", "Path prefix", () => Language.Message("ParamDescPathPrefix"), runningGUI ? User.Default.PathPrefix : absoluteSourceDir, runningGUI ? User.Default.SourceDirectory : absoluteSourceDir, null, groupDescBoth); if (runningGUI) { HelpFlag = new Flag("h", "", () => Language.Message("ParamDescH"), User.Default.HelpFlag); LogOnlyFlag = new Flag("log", "Log Only", () => Language.Message("ParamDescLog"), User.Default.LogOnlyFlag, groupDescBoth); PreviewFlag = new Flag("p", "Preview", () => Language.Message("ParamDescP"), User.Default.PreviewFlag, groupDescFile); CleanFlag = new Flag("clean", "Clean", () => Language.Message("ParamDescClean"), User.Default.CleanFlag, groupDescBoth); LogVerbosityParam.Parse(User.Default.LogVerbosityParam); } else { HelpFlag = new Flag("h", "", () => Language.Message("ParamDescH")); LogOnlyFlag = new Flag("log", "Log Only", () => Language.Message("ParamDescLog"), groupDescBoth); PreviewFlag = new Flag("p", "Preview", () => Language.Message("ParamDescP"), groupDescFile); CleanFlag = new Flag("clean", "Clean", () => Language.Message("ParamDescClean"), groupDescBoth); } ParamsManager.Add( new List<Param> { LocParam, PathPrefixParam, PublishFlagsParam, OutputFormatParam, LangParam, LinksToAllLangs, TemplateParam, OutputParam, SourceParam, LogVerbosityParam, RebuildDoxygenCacheParam, DoxygenCacheParam, HelpFlag, LogOnlyFlag, PreviewFlag, CleanFlag }); PathsSpec = new StringParam( "PathsSpecifier", "Semicolon separated documentation source file or directory paths.", () => Language.Message("PathSpecParamDesc"), runningGUI ? Path.GetFileName(User.Default.PathsSpec) : "", null); ParamsManager.SetMainParam(PathsSpec); }
public List <Param> GetParamsByGroup(ParamsDescriptionGroup group) { return(groupParamsMap[group.GetHashCode()]); }