Fixed i18n and naming
This commit is contained in:
parent
231abff3fd
commit
2624eb4dea
119
gdxapp4d-app-glyphdemo/pom.xml
Normal file
119
gdxapp4d-app-glyphdemo/pom.xml
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||||
|
<artifactId>gdxapp4d</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>gdxapp4d-app-glyphdemo</artifactId>
|
||||||
|
<packaging>bundle</packaging>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||||
|
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.felix</groupId>
|
||||||
|
<artifactId>maven-bundle-plugin</artifactId>
|
||||||
|
<extensions>true</extensions>
|
||||||
|
<configuration>
|
||||||
|
<exportScr>true</exportScr>
|
||||||
|
<niceManifest>true</niceManifest>
|
||||||
|
<instructions>
|
||||||
|
<_donotcopy>(.git)</_donotcopy>
|
||||||
|
<_dsannotations>*</_dsannotations>
|
||||||
|
<_metatypeannotations>*</_metatypeannotations>
|
||||||
|
<Import-Package>
|
||||||
|
org.osgi.framework,
|
||||||
|
org.osgi.service.packageadmin,
|
||||||
|
org.osgi.service.url,
|
||||||
|
org.osgi.service.startlevel,
|
||||||
|
org.osgi.util.tracker,
|
||||||
|
love.distributedrebirth.gdxapp4d.tos4.service,
|
||||||
|
love.distributedrebirth.gdxapp4d.vrgem4.service,
|
||||||
|
love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp,
|
||||||
|
com.badlogic.gdx,
|
||||||
|
com.badlogic.gdx.assets,
|
||||||
|
com.badlogic.gdx.assets.loaders,
|
||||||
|
com.badlogic.gdx.assets.loaders.resolvers,
|
||||||
|
com.badlogic.gdx.audio,
|
||||||
|
com.badlogic.gdx.files,
|
||||||
|
com.badlogic.gdx.graphics,
|
||||||
|
com.badlogic.gdx.graphics.g2d,
|
||||||
|
com.badlogic.gdx.graphics.g2d.freetype,
|
||||||
|
com.badlogic.gdx.graphics.g3d,
|
||||||
|
com.badlogic.gdx.graphics.g3d.attributes,
|
||||||
|
com.badlogic.gdx.graphics.g3d.decals,
|
||||||
|
com.badlogic.gdx.graphics.g3d.environment,
|
||||||
|
com.badlogic.gdx.graphics.g3d.loader,
|
||||||
|
com.badlogic.gdx.graphics.g3d.model,
|
||||||
|
com.badlogic.gdx.graphics.g3d.model.data,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles.bactches,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles.emitters,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles.influencers,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles.renderers,
|
||||||
|
com.badlogic.gdx.graphics.g3d.particles.values,
|
||||||
|
com.badlogic.gdx.graphics.g3d.shaders,
|
||||||
|
com.badlogic.gdx.graphics.g3d.utils,
|
||||||
|
com.badlogic.gdx.graphics.g3d.utils.shapebuilders,
|
||||||
|
com.badlogic.gdx.graphics.glutils,
|
||||||
|
com.badlogic.gdx.graphics.profiling,
|
||||||
|
com.badlogic.gdx.input,
|
||||||
|
com.badlogic.gdx.maps,
|
||||||
|
com.badlogic.gdx.maps.objects,
|
||||||
|
com.badlogic.gdx.maps.tiled,
|
||||||
|
com.badlogic.gdx.maps.tiled.objects,
|
||||||
|
com.badlogic.gdx.maps.tiled.renderers,
|
||||||
|
com.badlogic.gdx.maps.tiled.tiles,
|
||||||
|
com.badlogic.gdx.math,
|
||||||
|
com.badlogic.gdx.math.collision,
|
||||||
|
com.badlogic.gdx.net,
|
||||||
|
com.badlogic.gdx.scenes.scene2d,
|
||||||
|
com.badlogic.gdx.scenes.scene2d.actions,
|
||||||
|
com.badlogic.gdx.scenes.scene2d.ui,
|
||||||
|
com.badlogic.gdx.scenes.scene2d.utils,
|
||||||
|
com.badlogic.gdx.utils,
|
||||||
|
com.badlogic.gdx.utils.async,
|
||||||
|
com.badlogic.gdx.utils.compression,
|
||||||
|
com.badlogic.gdx.utils.compression.lz,
|
||||||
|
com.badlogic.gdx.utils.compression.lzma,
|
||||||
|
com.badlogic.gdx.utils.compression.rangecoder,
|
||||||
|
com.badlogic.gdx.utils.reflect,
|
||||||
|
com.badlogic.gdx.utils.viewport,
|
||||||
|
imgui,
|
||||||
|
imgui.flag,
|
||||||
|
imgui.glfw,
|
||||||
|
imgui.gl3,
|
||||||
|
imgui.type,
|
||||||
|
net.spookygames.gdx.nativefilechooser,
|
||||||
|
love.distributedrebirth.bassboonyd,
|
||||||
|
love.distributedrebirth.bassboonyd.jmx,
|
||||||
|
love.distributedrebirth.numberxd,
|
||||||
|
love.distributedrebirth.numberxd.base2t,
|
||||||
|
love.distributedrebirth.numberxd.base2t.part,
|
||||||
|
love.distributedrebirth.numberxd.base2t.part.warp,
|
||||||
|
love.distributedrebirth.numberxd.base2t.type,
|
||||||
|
love.distributedrebirth.numberxd.base2t.typexl,
|
||||||
|
love.distributedrebirth.numberxd.glyph,
|
||||||
|
love.distributedrebirth.numberxd.x4o,
|
||||||
|
love.distributedrebirth.warpme,
|
||||||
|
love.distributedrebirth.warpme.core,
|
||||||
|
love.distributedrebirth.warpme.hash,
|
||||||
|
love.distributedrebirth.warpme.sea,
|
||||||
|
love.distributedrebirth.warpme.ship,
|
||||||
|
love.distributedrebirth.unicode4d,
|
||||||
|
love.distributedrebirth.unicode4d.atlas
|
||||||
|
</Import-Package>
|
||||||
|
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||||
|
</instructions>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -0,0 +1,54 @@
|
||||||
|
package love.distributedrebirth.gdxapp4d.app.glyphdemo;
|
||||||
|
|
||||||
|
import org.osgi.service.component.annotations.Activate;
|
||||||
|
import org.osgi.service.component.annotations.Component;
|
||||||
|
import org.osgi.service.component.annotations.Deactivate;
|
||||||
|
import org.osgi.service.component.annotations.Reference;
|
||||||
|
|
||||||
|
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnicodePlaneDeskApp;
|
||||||
|
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoGlyphSetDeskApp;
|
||||||
|
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoNumberPartDeskApp;
|
||||||
|
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class GlyphDemoComponent {
|
||||||
|
|
||||||
|
@Reference
|
||||||
|
private SystemGdxLog log;
|
||||||
|
|
||||||
|
@Reference
|
||||||
|
private VrGem4DeskAppService deskAppService;
|
||||||
|
|
||||||
|
@Reference
|
||||||
|
private VrGem4LocaleService localeService;
|
||||||
|
|
||||||
|
private final DeskAppLauncher unicodeLauncher;
|
||||||
|
private final DeskAppLauncher baseGlyphLauncher;
|
||||||
|
private final DeskAppLauncher basePartLauncher;
|
||||||
|
|
||||||
|
public GlyphDemoComponent() {
|
||||||
|
unicodeLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Demo Unicode Plane", () -> new DemoUnicodePlaneDeskApp(localeService));
|
||||||
|
baseGlyphLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Demo Glyph Set", () -> new DemoGlyphSetDeskApp(localeService));
|
||||||
|
basePartLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Demo Number Parts", () -> new DemoNumberPartDeskApp(localeService));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Activate
|
||||||
|
void open() {
|
||||||
|
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||||
|
deskAppService.installDeskApp(unicodeLauncher);
|
||||||
|
deskAppService.installDeskApp(baseGlyphLauncher);
|
||||||
|
deskAppService.installDeskApp(basePartLauncher);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deactivate
|
||||||
|
void close() {
|
||||||
|
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||||
|
deskAppService.removeDeskApp(unicodeLauncher);
|
||||||
|
deskAppService.removeDeskApp(baseGlyphLauncher);
|
||||||
|
deskAppService.removeDeskApp(basePartLauncher);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,25 +1,30 @@
|
||||||
package love.distributedrebirth.gdxapp4d.vrgem4.view.apps;
|
package love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import imgui.ImGui;
|
import imgui.ImGui;
|
||||||
import imgui.flag.ImGuiTableFlags;
|
import imgui.flag.ImGuiTableFlags;
|
||||||
import imgui.type.ImBoolean;
|
import imgui.type.ImBoolean;
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.numberxd.glyph.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.glyph.BaseGlyphSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||||
public class SystemBaseGlyphApp extends AbstractDeskApp {
|
public class DemoGlyphSetDeskApp extends AbstractDeskApp {
|
||||||
|
|
||||||
|
private final VrGem4LocaleService localeService;
|
||||||
private final ImBoolean showBase27 = new ImBoolean(false);
|
private final ImBoolean showBase27 = new ImBoolean(false);
|
||||||
|
|
||||||
|
public DemoGlyphSetDeskApp(VrGem4LocaleService localeService) {
|
||||||
|
this.localeService = localeService;
|
||||||
|
}
|
||||||
|
|
||||||
private String getTxt(String key) {
|
private String getTxt(String key) {
|
||||||
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp.Main", new Locale("en"));
|
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp4d.app.glyphdemo.Main", localeService.getTextLocale());
|
||||||
return bundle.getString("SystemBaseGlyphApp."+key);
|
return bundle.getString(DemoGlyphSetDeskApp.class.getSimpleName()+"."+key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void create() {
|
public void create() {
|
|
@ -1,8 +1,7 @@
|
||||||
package love.distributedrebirth.gdxapp4d.vrgem4.view.apps;
|
package love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import imgui.ImGui;
|
import imgui.ImGui;
|
||||||
|
@ -10,6 +9,7 @@ import imgui.flag.ImGuiTableFlags;
|
||||||
import imgui.type.ImBoolean;
|
import imgui.type.ImBoolean;
|
||||||
import imgui.type.ImInt;
|
import imgui.type.ImInt;
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
|
@ -22,16 +22,21 @@ import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.glyph.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.glyph.BaseGlyphSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||||
public class SystemBasePartApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class DemoNumberPartDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
||||||
|
private final VrGem4LocaleService localeService;
|
||||||
private ImInt selectedBasePart = new ImInt();
|
private ImInt selectedBasePart = new ImInt();
|
||||||
private final ImBoolean showBase10 = new ImBoolean(false);
|
private final ImBoolean showBase10 = new ImBoolean(false);
|
||||||
private final ImBoolean showBase16 = new ImBoolean(false);
|
private final ImBoolean showBase16 = new ImBoolean(false);
|
||||||
private final ImBoolean showBase27 = new ImBoolean(false);
|
private final ImBoolean showBase27 = new ImBoolean(false);
|
||||||
|
|
||||||
|
public DemoNumberPartDeskApp(VrGem4LocaleService localeService) {
|
||||||
|
this.localeService = localeService;
|
||||||
|
}
|
||||||
|
|
||||||
private String getTxt(String key) {
|
private String getTxt(String key) {
|
||||||
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp.Main", new Locale("en"));
|
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp4d.app.glyphdemo.Main", localeService.getTextLocale());
|
||||||
return bundle.getString("SystemBasePartApp."+key);
|
return bundle.getString(DemoNumberPartDeskApp.class.getSimpleName()+"."+key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void create() {
|
public void create() {
|
|
@ -1,6 +1,5 @@
|
||||||
package love.distributedrebirth.gdxapp4d.vrsys5.apps;
|
package love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import imgui.ImGui;
|
import imgui.ImGui;
|
||||||
|
@ -13,18 +12,17 @@ import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.unicode4d.UnicodePlaneᶻᴰ;
|
import love.distributedrebirth.unicode4d.UnicodePlaneᶻᴰ;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||||
public class BaseUnicodePlaneDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class DemoUnicodePlaneDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
||||||
private final VrGem4LocaleService localeService;
|
private final VrGem4LocaleService localeService;
|
||||||
|
|
||||||
public BaseUnicodePlaneDeskApp(VrGem4LocaleService localeService) {
|
public DemoUnicodePlaneDeskApp(VrGem4LocaleService localeService) {
|
||||||
this.localeService = localeService;
|
this.localeService = localeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getTxt(String key) {
|
private String getTxt(String key) {
|
||||||
Locale loc = localeService.getTextLocale();
|
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp4d.app.glyphdemo.Main", localeService.getTextLocale());
|
||||||
ResourceBundle bundle = ResourceBundle.getBundle("love.distributedrebirth.gdxapp4d.vrsys5.Main", loc);
|
return bundle.getString(DemoUnicodePlaneDeskApp.class.getSimpleName()+"."+key);
|
||||||
return bundle.getString("SystemBaseUnicodePlaneApp."+key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void create() {
|
public void create() {
|
|
@ -0,0 +1,18 @@
|
||||||
|
DemoGlyphSetDeskApp.title=Demo Glyph Set
|
||||||
|
DemoGlyphSetDeskApp.showBase27=Show base27
|
||||||
|
DemoGlyphSetDeskApp.colScript=Script
|
||||||
|
DemoGlyphSetDeskApp.col10Num=10Numbers
|
||||||
|
DemoGlyphSetDeskApp.col16Num=16Numbers
|
||||||
|
DemoGlyphSetDeskApp.col27Num=27Numbers
|
||||||
|
|
||||||
|
DemoNumberPartDeskApp.title=Demo Number Parts
|
||||||
|
DemoNumberPartDeskApp.selectBase=Base
|
||||||
|
DemoNumberPartDeskApp.selectName=Name:
|
||||||
|
DemoNumberPartDeskApp.selectPurpose=Purpose:
|
||||||
|
DemoNumberPartDeskApp.showBase10=Show base10
|
||||||
|
DemoNumberPartDeskApp.showBase16=Show base16
|
||||||
|
DemoNumberPartDeskApp.showBase27=Show base27
|
||||||
|
|
||||||
|
DemoUnicodePlaneDeskApp.title=Demo Unicode Plane
|
||||||
|
DemoUnicodePlaneDeskApp.colPlane=Unicode Plane
|
||||||
|
DemoUnicodePlaneDeskApp.colText=Example
|
|
@ -0,0 +1,18 @@
|
||||||
|
DemoGlyphSetDeskApp.title=Demo Glyph Set
|
||||||
|
DemoGlyphSetDeskApp.showBase27=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE387 \uE400
|
||||||
|
DemoGlyphSetDeskApp.colScript=\uE2F4 \uE3A1 \uE08B \uE1CB \uE2AA \uE20F
|
||||||
|
DemoGlyphSetDeskApp.col10Num=\uE386 \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
||||||
|
DemoGlyphSetDeskApp.col16Num=\uE386 \uE3FF \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
||||||
|
DemoGlyphSetDeskApp.col27Num=\uE387 \uE400 \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
||||||
|
|
||||||
|
DemoNumberPartDeskApp.title=Demo Number Parts
|
||||||
|
DemoNumberPartDeskApp.selectBase=\uE0C0 \uE13F \uE2F4
|
||||||
|
DemoNumberPartDeskApp.selectName=\uE216 \uE13F \uE153 \uE3EC
|
||||||
|
DemoNumberPartDeskApp.selectPurpose=\uE203 \uE171 \uE08C \uE203 \uE2F4 \uE3EC
|
||||||
|
DemoNumberPartDeskApp.showBase10=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE386
|
||||||
|
DemoNumberPartDeskApp.showBase16=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE386 \uE3FF
|
||||||
|
DemoNumberPartDeskApp.showBase27=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE387 \uE400
|
||||||
|
|
||||||
|
DemoUnicodePlaneDeskApp.title=Demo Unicode Plane
|
||||||
|
DemoUnicodePlaneDeskApp.colPlane=Unicode Plane
|
||||||
|
DemoUnicodePlaneDeskApp.colText=Example
|
|
@ -12,6 +12,7 @@
|
||||||
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-hewallet.jar">../gdxapp4d-app-hewallet/target/classes</entry>
|
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-hewallet.jar">../gdxapp4d-app-hewallet/target/classes</entry>
|
||||||
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-tosamp.jar">../gdxapp4d-app-tosamp/target/classes</entry>
|
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-tosamp.jar">../gdxapp4d-app-tosamp/target/classes</entry>
|
||||||
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-notepad.jar">../gdxapp4d-app-notepad/target/classes</entry>
|
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-notepad.jar">../gdxapp4d-app-notepad/target/classes</entry>
|
||||||
|
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-glyphdemo.jar">../gdxapp4d-app-glyphdemo/target/classes</entry>
|
||||||
|
|
||||||
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc">../gdxapp4d-chain-vrlib/src/main/chain</entry>
|
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc">../gdxapp4d-chain-vrlib/src/main/chain</entry>
|
||||||
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc.bundle/gdxapp4d-vrgem4.jar">../gdxapp4d-vrgem4/target/classes</entry>
|
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc.bundle/gdxapp4d-vrgem4.jar">../gdxapp4d-vrgem4/target/classes</entry>
|
||||||
|
|
|
@ -8,4 +8,5 @@
|
||||||
<soft:hash file="bundle/gdxapp4d-app-hewallet.jar" hex="0"/>
|
<soft:hash file="bundle/gdxapp4d-app-hewallet.jar" hex="0"/>
|
||||||
<soft:hash file="bundle/gdxapp4d-app-notepad.jar" hex="0"/>
|
<soft:hash file="bundle/gdxapp4d-app-notepad.jar" hex="0"/>
|
||||||
<soft:hash file="bundle/gdxapp4d-app-tosamp.jar" hex="0"/>
|
<soft:hash file="bundle/gdxapp4d-app-tosamp.jar" hex="0"/>
|
||||||
|
<soft:hash file="bundle/gdxapp4d-app-glyphdemo.jar" hex="0"/>
|
||||||
</root:shot>
|
</root:shot>
|
||||||
|
|
|
@ -8,5 +8,6 @@
|
||||||
<link:magic file="bundle/gdxapp4d-app-hewallet.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/gdxapp4d-app-hewallet.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
<link:magic file="bundle/gdxapp4d-app-notepad.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/gdxapp4d-app-notepad.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
<link:magic file="bundle/gdxapp4d-app-tosamp.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/gdxapp4d-app-tosamp.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
|
<link:magic file="bundle/gdxapp4d-app-glyphdemo.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
</link:sea>
|
</link:sea>
|
||||||
</root:ocean>
|
</root:ocean>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
||||||
<link:sea name="DepOSGI SCR" provider="gdxapp4d.system" author="willemtsade">
|
<link:sea name="Osgi SCR" provider="gdxapp4d.system" author="willemtsade">
|
||||||
<link:magic file="bundle/org.osgi.util.function-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/org.osgi.util.function-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
<link:magic file="bundle/org.osgi.util.promise-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/org.osgi.util.promise-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
<link:magic file="bundle/org.apache.felix.scr-2.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/org.apache.felix.scr-2.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
||||||
<link:sea name="System Unicode4D" provider="gdxapp4d.system" author="willemtsade">
|
<link:sea name="Font Unicode4D" provider="gdxapp4d.system" author="willemtsade">
|
||||||
<link:magic file="plane0/code-2000.ttf" mime="application/x-font-ttf-plane0"/>
|
<link:magic file="plane0/code-2000.ttf" mime="application/x-font-ttf-plane0"/>
|
||||||
<link:magic file="plane0/free-sans.ttf" mime="application/x-font-ttf-plane0"/>
|
<link:magic file="plane0/free-sans.ttf" mime="application/x-font-ttf-plane0"/>
|
||||||
<link:magic file="plane0/new-gardiner-bmp.ttf" mime="application/x-font-ttf-plane0"/>
|
<link:magic file="plane0/new-gardiner-bmp.ttf" mime="application/x-font-ttf-plane0"/>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
|
||||||
<link:sea name="vrlib" provider="gdxapp4d.system" author="willemtsade">
|
<link:sea name="vrLIB" provider="gdxapp4d.system" author="willemtsade">
|
||||||
<link:magic file="bundle/gdxapp4d-vrgem4.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/gdxapp4d-vrgem4.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
<link:magic file="bundle/gdxapp4d-vrsys5.jar" mime="application/vnd.osgi.bundle"/>
|
<link:magic file="bundle/gdxapp4d-vrsys5.jar" mime="application/vnd.osgi.bundle"/>
|
||||||
</link:sea>
|
</link:sea>
|
||||||
|
|
|
@ -56,18 +56,18 @@ public class VrGem4LocaleServiceImpl implements VrGem4LocaleService {
|
||||||
void close() {
|
void close() {
|
||||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTextLocaleI18n(String isoCode) {
|
public void setTextLocaleI18n(String isoCode) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTextLocaleI18n() {
|
public String getTextLocaleI18n() {
|
||||||
return properties.getProperty(LocaleKey.TEXT_LOCALE.name(), "en");
|
return properties.getProperty(LocaleKey.TEXT_LOCALE.name(), "en");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Locale getTextLocale() {
|
public Locale getTextLocale() {
|
||||||
return new Locale(getTextLocaleI18n());
|
return new Locale(getTextLocaleI18n());
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package love.distributedrebirth.gdxapp4d.vrgem4.view;
|
package love.distributedrebirth.gdxapp4d.vrgem4.view;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
|
@ -23,8 +22,6 @@ import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSec
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.view.apps.SystemBaseGlyphApp;
|
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.view.apps.SystemBasePartApp;
|
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||||
public class DeskTopScreenMenu {
|
public class DeskTopScreenMenu {
|
||||||
|
@ -32,7 +29,6 @@ public class DeskTopScreenMenu {
|
||||||
private SystemGdxBootArgs bootArgs;
|
private SystemGdxBootArgs bootArgs;
|
||||||
private SystemGdxTerminal terminal;
|
private SystemGdxTerminal terminal;
|
||||||
private VrGem4DeskAppServiceImpl deskAppService;
|
private VrGem4DeskAppServiceImpl deskAppService;
|
||||||
private List<DeskAppLauncher> apps;
|
|
||||||
private ImBoolean fileMinimizeSelected = new ImBoolean(false);
|
private ImBoolean fileMinimizeSelected = new ImBoolean(false);
|
||||||
private ImBoolean fileCloseSelected = new ImBoolean(false);
|
private ImBoolean fileCloseSelected = new ImBoolean(false);
|
||||||
private ImBoolean tosSelfSelected = new ImBoolean(false);
|
private ImBoolean tosSelfSelected = new ImBoolean(false);
|
||||||
|
@ -41,9 +37,6 @@ public class DeskTopScreenMenu {
|
||||||
this.bootArgs = bootArgs;
|
this.bootArgs = bootArgs;
|
||||||
this.terminal = terminal;
|
this.terminal = terminal;
|
||||||
this.deskAppService = deskAppService;
|
this.deskAppService = deskAppService;
|
||||||
apps = new ArrayList<>();
|
|
||||||
apps.add(new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Sys Glyph Set", () -> new SystemBaseGlyphApp()));
|
|
||||||
apps.add(new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Sys Number Parts", () -> new SystemBasePartApp()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderMenu(DeskTopScreen appScreen) {
|
public void renderMenu(DeskTopScreen appScreen) {
|
||||||
|
@ -211,14 +204,6 @@ public class DeskTopScreenMenu {
|
||||||
}
|
}
|
||||||
ImGui.separator();
|
ImGui.separator();
|
||||||
if (ImGui.beginMenu(FontAwesomeIcons.PlusSquare + " Start App")) {
|
if (ImGui.beginMenu(FontAwesomeIcons.PlusSquare + " Start App")) {
|
||||||
for (DeskAppLauncher launcher: apps) {
|
|
||||||
if (ImGui.menuItem(launcher.getName())) {
|
|
||||||
DeskApp controller = launcher.getLauncher().get();
|
|
||||||
controller.create();
|
|
||||||
appScreen.getDeskAppController().addDeskApp(controller);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ImGui.separator();
|
|
||||||
for (DeskAppMenuSection section: DeskAppMenuSection.values()) {
|
for (DeskAppMenuSection section: DeskAppMenuSection.values()) {
|
||||||
if (section.isSystem()) {
|
if (section.isSystem()) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -10,7 +10,6 @@ import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrsys5.apps.BaseUnicodePlaneDeskApp;
|
|
||||||
import love.distributedrebirth.gdxapp4d.vrsys5.apps.BasicConsoleDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrsys5.apps.BasicConsoleDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrsys5.apps.ImGuiDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrsys5.apps.ImGuiDeskApp;
|
||||||
|
|
||||||
|
@ -27,12 +26,10 @@ public class VrSys5Component {
|
||||||
private VrGem4LocaleService localeService;
|
private VrGem4LocaleService localeService;
|
||||||
|
|
||||||
private final DeskAppLauncher basicLauncher;
|
private final DeskAppLauncher basicLauncher;
|
||||||
private final DeskAppLauncher unicodeLauncher;
|
|
||||||
private final DeskAppLauncher imguiLauncher;
|
private final DeskAppLauncher imguiLauncher;
|
||||||
|
|
||||||
public VrSys5Component() {
|
public VrSys5Component() {
|
||||||
basicLauncher = new DeskAppLauncher(DeskAppMenuSection.SYSTEM, "Basic Console", () -> new BasicConsoleDeskApp());
|
basicLauncher = new DeskAppLauncher(DeskAppMenuSection.SYSTEM, "Basic Console", () -> new BasicConsoleDeskApp());
|
||||||
unicodeLauncher = new DeskAppLauncher(DeskAppMenuSection.SYSTEM, "Base Unicode Plane", () -> new BaseUnicodePlaneDeskApp(localeService));
|
|
||||||
imguiLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "ImGui Demo", () -> new ImGuiDeskApp());
|
imguiLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "ImGui Demo", () -> new ImGuiDeskApp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +37,6 @@ public class VrSys5Component {
|
||||||
void open() {
|
void open() {
|
||||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||||
deskAppService.installDeskApp(basicLauncher);
|
deskAppService.installDeskApp(basicLauncher);
|
||||||
deskAppService.installDeskApp(unicodeLauncher);
|
|
||||||
deskAppService.installDeskApp(imguiLauncher);
|
deskAppService.installDeskApp(imguiLauncher);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +44,6 @@ public class VrSys5Component {
|
||||||
void close() {
|
void close() {
|
||||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||||
deskAppService.removeDeskApp(basicLauncher);
|
deskAppService.removeDeskApp(basicLauncher);
|
||||||
deskAppService.removeDeskApp(unicodeLauncher);
|
|
||||||
deskAppService.removeDeskApp(imguiLauncher);
|
deskAppService.removeDeskApp(imguiLauncher);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
SystemBaseGlyphApp.title=Sys Glyph Set
|
|
||||||
SystemBaseGlyphApp.showBase27=Show base27
|
|
||||||
SystemBaseGlyphApp.colScript=Script
|
|
||||||
SystemBaseGlyphApp.col10Num=10Numbers
|
|
||||||
SystemBaseGlyphApp.col16Num=16Numbers
|
|
||||||
SystemBaseGlyphApp.col27Num=27Numbers
|
|
||||||
|
|
||||||
SystemBasePartApp.title=Sys Number Parts
|
|
||||||
SystemBasePartApp.selectBase=Base
|
|
||||||
SystemBasePartApp.selectName=Name:
|
|
||||||
SystemBasePartApp.selectPurpose=Purpose:
|
|
||||||
SystemBasePartApp.showBase10=Show base10
|
|
||||||
SystemBasePartApp.showBase16=Show base16
|
|
||||||
SystemBasePartApp.showBase27=Show base27
|
|
||||||
|
|
||||||
SystemBaseUnicodePlaneApp.title=Sys Unicode Plane
|
|
||||||
SystemBaseUnicodePlaneApp.colPlane=Unicode Plane
|
|
||||||
SystemBaseUnicodePlaneApp.colText=Example
|
|
|
@ -1,14 +0,0 @@
|
||||||
SystemBaseGlyphApp.title=\uE0C0 \uE13F \uE2F4 \uE3BC \uE0ED \uE1CC \uE191 \uE2F4 \uE20F
|
|
||||||
SystemBaseGlyphApp.showBase27=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE387 \uE400
|
|
||||||
SystemBaseGlyphApp.colScript=\uE2F4 \uE3A1 \uE08B \uE1CB \uE2AA \uE20F
|
|
||||||
SystemBaseGlyphApp.col10Num=\uE386 \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
|
||||||
SystemBaseGlyphApp.col16Num=\uE386 \uE3FF \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
|
||||||
SystemBaseGlyphApp.col27Num=\uE387 \uE400 \uE216 \uE171 \uE153 \uE0C0 \uE08C \uE2F4
|
|
||||||
|
|
||||||
SystemBasePartApp.title=\uE0C0 \uE13F \uE2F4 \uE203 \uE13F \uE08C \uE20F \uE2F4
|
|
||||||
SystemBasePartApp.selectBase=\uE0C0 \uE13F \uE2F4
|
|
||||||
SystemBasePartApp.selectName=\uE216 \uE13F \uE153 \uE3EC
|
|
||||||
SystemBasePartApp.selectPurpose=\uE203 \uE171 \uE08C \uE203 \uE2F4 \uE3EC
|
|
||||||
SystemBasePartApp.showBase10=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE386
|
|
||||||
SystemBasePartApp.showBase16=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE386 \uE3FF
|
|
||||||
SystemBasePartApp.showBase27=\uE219 \uE362 \uE0C0 \uE13F \uE2F4 \uE387 \uE400
|
|
1
pom.xml
1
pom.xml
|
@ -30,6 +30,7 @@
|
||||||
<module>gdxapp4d-vrsys5</module>
|
<module>gdxapp4d-vrsys5</module>
|
||||||
<module>gdxapp4d-chain-default-apps</module>
|
<module>gdxapp4d-chain-default-apps</module>
|
||||||
<module>gdxapp4d-chain-vrlib</module>
|
<module>gdxapp4d-chain-vrlib</module>
|
||||||
|
<module>gdxapp4d-app-glyphdemo</module>
|
||||||
</modules>
|
</modules>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
Loading…
Reference in a new issue