half done with the widget system

This commit is contained in:
ramollia
2025-10-31 17:33:19 +01:00
parent b84255e00e
commit 1c9af58264
30 changed files with 1009 additions and 244 deletions

View File

@@ -1,19 +1,28 @@
package org.toop.local;
import java.util.Locale;
import org.toop.framework.resource.ResourceManager;
import org.toop.framework.resource.resources.LocalizationAsset;
import java.util.Locale;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.StringBinding;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
public class AppContext {
private static final LocalizationAsset localization = ResourceManager.get("localization");
private static Locale locale = Locale.forLanguageTag("en");
private static final ObjectProperty<Locale> localeProperty = new SimpleObjectProperty<>(locale);
public static LocalizationAsset getLocalization() {
return localization;
}
public static void setLocale(Locale locale) {
AppContext.locale = locale;
localeProperty.set(locale);
}
public static Locale getLocale() {
@@ -21,7 +30,13 @@ public class AppContext {
}
public static String getString(String key) {
assert localization != null;
return localization.getString(key, locale);
}
}
public static StringBinding bindToKey(String key) {
return Bindings.createStringBinding(
() -> localization.getString(key, locale),
localeProperty
);
}
}