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);
        }
Exemple #4
0
        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);
        }
Exemple #12
0
        public static ISetupAppBuilder LoadDefaultLanguages(this ISetupAppBuilder builder)
        {
            LanguageManager.Instance.LoadLanguageResources();

            return(builder);
        }