public static IFormBuilder <TForm, TControl> ApplyTheme <TForm, TControl>(this IFormBuilder <TForm, TControl> builder, ITheme theme) where TForm : BaseForm where TControl : BaseControl { builder.ConfigureForm(form => form.ApplyTheme(theme)); return(builder); }
public void Add( IFormBuilder form, IDamageRelatedStatBuilder stat, IDamageRelatedStatBuilder vp1, IDamageRelatedStatBuilder vp2, IDamageRelatedStatBuilder vp3, Func <IStatBuilder, IStatBuilder, IStatBuilder, IValueBuilder> value) { Add(form, stat, new[] { vp1, vp2, vp3 }, ss => value(ss[0], ss[1], ss[2])); }
public void Add( IFormBuilder form, Func <DamageType, IDamageRelatedStatBuilder> stat, Func <DamageType, IDamageRelatedStatBuilder> vp, Func <DamageType, IStatBuilder, IValueBuilder> value) { Add(form, stat, a => new[] { vp(a) }, (a, ss) => value(a, ss.Single())); }
public static Form CreateForm(IFormBuilder builder) { builder.InitializePrimarySource(); builder.InitializeSecondarySource(); builder.InitializeCommands(); return(builder.GetForm); }
public void Add( IFormBuilder form, Func <DamageType, IDamageRelatedStatBuilder> stat, Func <DamageType, IDamageRelatedStatBuilder> vp1, Func <DamageType, IDamageRelatedStatBuilder> vp2, Func <DamageType, IStatBuilder, IStatBuilder, IValueBuilder> value) { Add(form, stat, dt => new[] { vp1(dt), vp2(dt) }, (dt, ss) => value(dt, ss[0], ss[1])); }
public static async Task <IFormBuilder <T> > Field <T>(this IFormBuilder <T> builder, string name, Func <Task <string> > prompt, ActiveDelegate <T> active = null, ValidateAsyncDelegate <T> validate = null) where T : class { string prmpt = await prompt(); return(builder.Field(name, prmpt, active, validate)); }
private IntermediateModifierEntry(IFormBuilder form, IStatBuilder stat, IValueBuilder value, IConditionBuilder condition) { Form = form; Stat = stat; Value = value; Condition = condition; }
public static IFormBuilder <TControl> SetTitleBar <TControl>(this IFormBuilder <TControl> builder, bool showTitle, bool showClose) where TControl : BaseControl { builder.Configure(control => control.ParentForm.ShowTitle = showTitle); builder.Configure(control => control.ParentForm.ShowClose = showClose); return(builder); }
public void Add( IFormBuilder form, Func <Ailment, IDamageRelatedStatBuilder> stat, Func <Ailment, IDamageRelatedStatBuilder> vp1, Func <Ailment, IDamageRelatedStatBuilder> vp2, Func <Ailment, IDamageRelatedStatBuilder> vp3, Func <Ailment, IStatBuilder, IStatBuilder, IStatBuilder, IValueBuilder> value) { Add(form, stat, a => new[] { vp1(a), vp2(a), vp3(a) }, (a, ss) => value(a, ss[0], ss[1], ss[2])); }
public IntermediateModifierEntry WithForm(IFormBuilder form) { if (Form != null && form != null) { throw new InvalidOperationException(nameof(WithForm) + " must not be called multiple times"); } return(new IntermediateModifierEntry(form, Stat, Value, Condition)); }
public void Add([RegexPattern] string regex, IFormBuilder form, IValueBuilder value) { var builder = ModifierBuilder .WithForm(form) .WithValue(value); Add(regex, builder); }
private static IntermediateModifierEntry CreateFilledEntry( IFormBuilder form = null, IStatBuilder stat = null, IValueBuilder value = null, IConditionBuilder condition = null) => new IntermediateModifierEntry( form ?? Mock.Of <IFormBuilder>(), stat ?? Mock.Of <IStatBuilder>(), value ?? Mock.Of <IValueBuilder>(), condition ?? Mock.Of <IConditionBuilder>());
public void Add([RegexPattern] string regex, IFormBuilder form, double value) { var builder = ModifierBuilder .WithForm(form) .WithValue(_valueFactory.Create(value)); Add(regex, builder); }
public IForm <T> Build(Assembly resourceAssembly = null, string resourceName = null) { if (!_form._steps.Any((step) => step.Type == StepType.Field)) { var paths = new List <string>(); FormBuilder <T> .FieldPaths(typeof(T), "", paths); IFormBuilder <T> builder = this; foreach (var path in paths) { builder.Field(new FieldReflector <T>(path)); } builder.Confirm(new PromptAttribute(_form.Configuration.Template(TemplateUsage.Confirmation))); } if (resourceAssembly == null) { resourceAssembly = typeof(T).Assembly; } if (resourceName == null) { resourceName = typeof(T).FullName; } var lang = resourceAssembly.GetCustomAttribute <NeutralResourcesLanguageAttribute>(); if (lang != null && !string.IsNullOrWhiteSpace(lang.CultureName)) { try { IEnumerable <string> missing, extra; string name = null; foreach (var resource in resourceAssembly.GetManifestResourceNames()) { if (resource.Contains(resourceName)) { var pieces = resource.Split('.'); name = string.Join(".", pieces.Take(pieces.Count() - 1)); break; } } if (name != null) { var rm = new ResourceManager(name, resourceAssembly); var rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true); _form.Localize(rs.GetEnumerator(), out missing, out extra); if (missing.Any()) { throw new MissingManifestResourceException($"Missing resources {missing}"); } } } catch (MissingManifestResourceException) { // Resource was not localized } } Validate(); return(this._form); }
public void Add(IEffectBuilder effect, IFormBuilder form, IStatBuilder stat, IValueBuilder value) { var builder = _modifierBuilder .WithForm(form) .WithStat(effect.AddStat(stat)) .WithValue(value); _data.Add(builder.Build()); }
public void Add(IEffectBuilder effect, IFormBuilder form, IStatBuilder stat, double value) { var builder = _modifierBuilder .WithForm(form) .WithStat(effect.AddStat(stat)) .WithValue(_valueFactory.Create(value)); _data.Add(builder.Build()); }
/// <summary> /// Adds a matcher with a form, value and one or more stats. /// </summary> public void Add([RegexPattern] string regex, IFormBuilder form, double value, IEnumerable <IStatBuilder> stats) { var builder = ModifierBuilder .WithForm(form) .WithValue(_valueFactory.Create(value)) .WithStats(stats.ToList()); Add(regex, builder); }
public IFormBuilder <T> Confirm(string prompt, ActiveDelegate <T> condition = null, IEnumerable <string> dependencies = null) { IFormBuilder <T> builder = this; return(builder.Confirm(new PromptAttribute(prompt) { ChoiceFormat = Resources.ConfirmChoiceFormat, AllowDefault = BoolDefault.False }, condition, dependencies)); }
private static IEnumerable <Modifier> CreateModifier( IStatBuilder statBuilder, IFormBuilder formBuilder, IValueBuilder valueBuilder) { var statBuilderResults = statBuilder.Build(default(BuildParameters).With(new ModifierSource.Global())); var(form, formValueConverter) = formBuilder.Build(); foreach (var(stats, source, statValueConverter) in statBuilderResults) { var value = formValueConverter(statValueConverter(valueBuilder)).Build(default);
private static Modifier CreateModifier( IStatBuilder statBuilder, IFormBuilder formBuilder, IValueBuilder valueBuilder) { var(stats, sourceConverter, statValueConverter) = statBuilder.Build(); var(form, formValueConverter) = formBuilder.Build(); var value = formValueConverter(statValueConverter(valueBuilder)).Build(); return(new Modifier(stats, form, value, sourceConverter(new ModifierSource.Global()))); }
private void AddForSkillAndAilments(GivenStatCollection collection, IFormBuilder form, IDamageRelatedStatBuilder stat, IDamageRelatedStatBuilder valueStat) { collection.Add(form, stat.WithSkills, valueStat.WithSkills.Value); foreach (var ailment in Enums.GetValues <Ailment>()) { var ailmentBuilder = Ailment.From(ailment); collection.Add(form, stat.With(ailmentBuilder), valueStat.With(ailmentBuilder).Value); } }
/// <summary> /// Adds a substituting matcher with a form, value and stat. /// </summary> public void Add([RegexPattern] string regex, IFormBuilder form, IValueBuilder value, IStatBuilder stat, string substitution) { var builder = ModifierBuilder .WithForm(form) .WithValue(value) .WithStat(stat); Add(regex, builder, substitution); }
/// <summary> /// Adds a matcher with a form, value and stats. /// </summary> public void Add( [RegexPattern] string regex, IFormBuilder form, IValueBuilder value, params IStatBuilder[] stats) { var builder = ModifierBuilder .WithForm(form) .WithStats(stats) .WithValue(value); Add(regex, builder); }
/// <summary> /// Define a step for filling in a particular value in the form state. /// </summary> /// <param name="builder">Form builder.</param> /// <param name="name">Path in the form state to the value being filled in.</param> /// <param name="active">Delegate to test form state to see if step is active.</param> /// <param name="validate">Delegate to validate the field value.</param> /// <remarks> /// This step will use reflection to construct everything needed for a dialog from a combination /// of the <see cref="DescribeAttribute"/>, <see cref="TermsAttribute"/>, <see cref="PromptAttribute"/>, <see cref="OptionalAttribute"/> /// <see cref="NumericAttribute"/> and <see cref="TemplateAttribute"/> annotations that are supplied by default or you /// override. /// </remarks> /// <returns>This form.</returns> public static IFormBuilder <T> Field <T>(this IFormBuilder <T> builder, string name, ActiveDelegate <T> active = null, ValidateAsyncDelegate <T> validate = null) where T : class { var field = (active == null ? new FieldReflector <T>(name) : new Conditional <T>(name, active)); if (validate != null) { field.SetValidate(validate); } return(builder.Field(field)); }
public static IForm <AdaptiveCardsFormFlow> BuildForm() { IFormBuilder <AdaptiveCardsFormFlow> formBuilder = GetFormbuilder(); var built = formBuilder .Field(nameof(Name), "What is your name?") .Field(nameof(RequestedDate)) .Confirm("Is this information correct? {*}") .Build(); return(built); }
public static IFormBuilder <T> DateTimeRangeField <T>(this IFormBuilder <T> formBuilder, string name, ActiveDelegate <T> active = null, ValidateAsyncDelegate <T> validate = null) where T : class { var prompt = typeof(T).GetProperty(name).GetCustomAttributes(typeof(PromptAttribute), false).Cast <PromptAttribute>().First(); return(formBuilder.Field(new FieldReflector <T>(name) .SetType(typeof(string)) .SetPrompt(prompt) .SetFieldDescription(name) .SetActive(active) .SetValidate(validate))); }
public void Add( IFormBuilder form, Func <Ailment, DamageType, IDamageRelatedStatBuilder> stat, Func <Ailment, DamageType, IDamageRelatedStatBuilder> vp1, Func <Ailment, DamageType, IDamageRelatedStatBuilder> vp2, Func <IStatBuilder, IStatBuilder, IValueBuilder> value) { foreach (var ailment in Enums.GetValues <Ailment>()) { Add <DamageType>(form, dt => stat(ailment, dt), dt => new[] { vp1(ailment, dt), vp2(ailment, dt) }, (dt, ss) => value(ss[0], ss[1])); } }
public void Add(IFormBuilder form, IStatBuilder stat, IValueBuilder value, IConditionBuilder?condition = null) { var builder = _modifierBuilder .WithForm(form) .WithStat(stat) .WithValue(value); if (condition != null) { builder = builder.WithCondition(condition); } _data.Add(builder.Build()); }
public static IForm<ScheduleCallbackDialog> BuildForm() { IFormBuilder<ScheduleCallbackDialog> formBuilder = GetFormbuilder(); var built = formBuilder .Field(nameof(Name), "What is your name?") .Field(nameof(PhoneNumber), "Please enter your phone number.") .Field(nameof(RequestedDate)) .Confirm("Is this information correct? {*}") .Build(); return built; }
private void Add( IFormBuilder form, IDamageRelatedStatBuilder stat, IReadOnlyList <IDamageRelatedStatBuilder> valueParameters, Func <IReadOnlyList <IStatBuilder>, IValueBuilder> value) { Add(form, stat.With(AttackDamageHand.MainHand), value(valueParameters.Select(s => s.With(AttackDamageHand.MainHand)).ToList())); Add(form, stat.With(AttackDamageHand.OffHand), value(valueParameters.Select(s => s.With(AttackDamageHand.OffHand)).ToList())); Add(form, stat.With(DamageSource.Spell), value(valueParameters.Select(s => s.With(DamageSource.Spell)).ToList())); Add(form, stat.With(DamageSource.Secondary), value(valueParameters.Select(s => s.With(DamageSource.Secondary)).ToList())); }
public void Initialize(IFormBuilder InstanceForm, FormStyle FS) { switch (FS) { case FormStyle.StartPage: break; case FormStyle.Histogram: break; case FormStyle.Details: break; case FormStyle.ToolBox: break; case FormStyle.PaintHandleForm: //InstanceForm = (PaintHandlerForm)FormCreator(FormStyle.PaintHandleForm, 0, 0, 725, 390, Color.FromArgb(45, 45, 48), ((PaintHandlerForm)InstanceForm).Text); DockableFormInfo DFI04 = DockContainer01Panel.Add((PaintHandlerForm)InstanceForm, zAllowedDock.All, new Guid("a6402b80-2ebd-4fd3-8930-024a6201d001")); DFI04.ShowContextMenuButton = false; if (DockContainer01Panel.GetFormInfo(StartPageForm.Instance) != null) DockContainer01Panel.DockForm(DFI04, DFI01, DockStyle.Fill, zDockMode.Inner); else DockContainer01Panel.DockForm(DFI04, DockStyle.Fill, zDockMode.Inner); if (!EnableActivatedEventDictionary.ContainsKey(FormStyle.PaintHandleForm)) EnableActivatedEventDictionary.Add(FormStyle.PaintHandleForm, 0); EnableActivatedEventDictionary[FormStyle.PaintHandleForm]++; break; case FormStyle.ImageHandleForm: //InstanceForm = (ImageHandlerForm)FormCreator(FS, 0, 0, 725, 390, Color.FromArgb(45, 45, 48), ((ImageHandlerForm)InstanceForm).Text); DockableFormInfo DFI05 = DockContainer01Panel.Add((ImageHandlerForm)InstanceForm, zAllowedDock.All, new Guid("a6402b80-2ebd-4fd3-8930-024a6201d001")); DFI05.ShowContextMenuButton = false; if (DockContainer01Panel.GetFormInfo(StartPageForm.Instance) != null) DockContainer01Panel.DockForm(DFI05, DFI01, DockStyle.Fill, zDockMode.Inner); else DockContainer01Panel.DockForm(DFI05, DockStyle.Fill, zDockMode.Inner); if (!EnableActivatedEventDictionary.ContainsKey(FormStyle.ImageHandleForm)) EnableActivatedEventDictionary.Add(FormStyle.ImageHandleForm, 0); EnableActivatedEventDictionary[FormStyle.ImageHandleForm]++; break; case FormStyle.PsdHandlerForm: DockableFormInfo DFI06 = DockContainer01Panel.Add((PsdHandlerForm)InstanceForm, zAllowedDock.All, new Guid("a6402b80-2ebd-4fd3-8930-024a6201d001")); DFI06.ShowContextMenuButton = false; if(DockContainer01Panel.GetFormInfo(StartPageForm.Instance) != null) DockContainer01Panel.DockForm(DFI06, DFI01, DockStyle.Fill, zDockMode.Inner); else DockContainer01Panel.DockForm(DFI06, DockStyle.Fill, zDockMode.Inner); if (!EnableActivatedEventDictionary.ContainsKey(FormStyle.PsdHandlerForm)) EnableActivatedEventDictionary.Add(FormStyle.PsdHandlerForm, 0); EnableActivatedEventDictionary[FormStyle.PsdHandlerForm]++; break; default: break; } }