public static ISetupAppBuilder EnableMessageOnClose(this ISetupAppBuilder builder) { //ToDo: implement enablemessage on close if (builder.Context.Properties[NamingConstants.Silent] == null) { builder.Context.Events.Add(EventConstants.WindowClose, (_) => { if (_ is CancelEventArgs e) { DialogService.Open(new CloseWindowPopup()); e.Cancel = true; } }); } else { //ToDo: Add switch for console } //ToDo: replace with automatic language resource loader LanguageManager.Instance.AppendLanguageAsync(builder.Context.Properties[NamingConstants.CurrentLanguageName].ToString(), new AssemblyResourceLoader("Galifrei.Popups.Resources." + builder.Context.Properties[NamingConstants.CurrentLanguageName] + ".json", typeof(AppBuilderExtensions).Assembly)); return(builder); }
public static ISetupAppBuilder SetLanguage(this ISetupAppBuilder builder, string id) { LanguageManager.Instance.SetLanguage(id); builder.SetProperty(NamingConstants.CurrentLanguageName, id); return(builder); }
public static ISetupAppBuilder AddMetadata(this ISetupAppBuilder builder, Assembly assembly) { var name = assembly.GetName(); builder.SetProperty(NamingConstants.AppName, name.Name); builder.SetProperty(NamingConstants.AppVersion, name.Version.ToString()); return(builder); }
public static SetupApp Build(this ISetupAppBuilder builder) { if (!LanguageManager.Instance.Contains("en_EN")) { LanguageManager.Instance.RegisterLanguage("en_EN", new AssemblyResourceLoader("Galifrei.Resources.en_EN.json", typeof(Runtime).Assembly)); } if (LanguageManager.Instance.CurrentLanguage == null) { LanguageManager.Instance.SetLanguage("en_EN"); } return(new SetupApp(builder.Context)); }
public static ISetupAppBuilder EnableAutoLanguage(this ISetupAppBuilder builder) { var culture = Thread.CurrentThread.CurrentCulture.Name.Replace("-", "_"); if (LanguageManager.Instance.Contains(culture)) { builder.SetProperty(NamingConstants.UseAutomaticLanguage, true); builder.SetLanguage(culture); } else { builder.SetLanguage("en_EN"); builder.SetProperty(NamingConstants.UseAutomaticLanguage, false); } return(builder); }
public static ISetupAppBuilder SetProperty(this ISetupAppBuilder builder, string key, object value) { builder.Context.Properties.SetProperty(key, value); return(builder); }
public static ISetupAppBuilder RegisterLanguage(this ISetupAppBuilder builder, string id, IResourceLoader loader) { LanguageManager.Instance.RegisterLanguage(id, loader); return(builder); }
public static ISetupAppBuilder SetApplicationType(this ISetupAppBuilder builder, ApplicationType type) { builder.SetProperty(NamingConstants.IsTerminal, type == ApplicationType.Terminal ? true : false); return(builder); }
public static ISetupAppBuilder AddResource(this ISetupAppBuilder builder, IResourceLoader loader) { builder.Context.ResourceLoaders.RegisterResource(loader); return(builder); }
public static ISetupAppBuilder AddAction(this ISetupAppBuilder builder, ISetupComponent component) { builder.Context.Pipeline.Add(component); return(builder); }
public static ISetupAppBuilder AddComponent(this ISetupAppBuilder builder, IVisualComponent component) { builder.Context.Components.RegisterComponent(component); return(builder); }
public static ISetupAppBuilder LoadDefaultLanguages(this ISetupAppBuilder builder) { LanguageManager.Instance.LoadLanguageResources(); return(builder); }