diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..13275f1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,30 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+.kotlin
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..c21c654
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# デフォルトの無視対象ファイル
+/shelf/
+/workspace.xml
+# エディターベースの HTTP クライアントリクエスト
+/httpRequests/
diff --git a/.idea/SimpleUI.iml b/.idea/SimpleUI.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/SimpleUI.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..f03c948
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b7f814f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SimpleUI.iml b/SimpleUI.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/SimpleUI.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/CurScreen.java b/src/CurScreen.java
new file mode 100644
index 0000000..5e4140e
--- /dev/null
+++ b/src/CurScreen.java
@@ -0,0 +1,68 @@
+import java.util.*;
+
+public class CurScreen {
+ private ScreenTemplates screenTemplates;
+ private ScreenTemplates screenTemplates;
+ private CurScreen curScreen;
+ private String value = "";
+ private Screen screen;
+ public CurScreen(ScreenTemplates screenTemplates, ScreenTemplates screenTemplates, CurScreen curScreen, Screen screen) {
+ this.screenTemplates = screenTemplates;
+ this.screenTemplates = screenTemplates;
+ this.curScreen = curScreen;
+ this.screen = screen;
+ }
+ public String getValue() {
+ return new String(this.value);
+ }
+ public void updateFromState(String scId, String wid, int state) {
+ String temp_if5;
+ if ((state==0)) {
+ temp_if5 = "001";
+ } else {
+ temp_if5 = this.value;
+ }
+ this.value = temp_if5;
+ String temp_if4;
+ if ((state==0)) {
+ temp_if4 = "000";
+ } else {
+ temp_if4 = this.value;
+ }
+ this.value = temp_if4;
+ Map screenTemplate = this.screenTemplate.getValue();
+ this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
+ this.screen.updateFromCurScreen(this.value, screenTemplate);
+ Map screenTemplate = this.screenTemplate.getValue();
+ this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
+ this.screen.updateFromCurScreen(this.value, screenTemplate);
+ }
+ public void updateFromState(String scId, String wid, int state) {
+ String temp_if5;
+ if ((state==0)) {
+ temp_if5 = "001";
+ } else {
+ temp_if5 = this.value;
+ }
+ this.value = temp_if5;
+ String temp_if4;
+ if ((state==0)) {
+ temp_if4 = "000";
+ } else {
+ temp_if4 = this.value;
+ }
+ this.value = temp_if4;
+ Map screenTemplate = this.screenTemplate.getValue();
+ this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
+ this.screen.updateFromCurScreen(this.value, screenTemplate);
+ Map screenTemplate = this.screenTemplate.getValue();
+ this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
+ this.screen.updateFromCurScreen(this.value, screenTemplate);
+ }
+ public void changeCurScreen(String nextScId) {
+ this.value = nextScId;
+ Map screenTemplate = this.screenTemplate.getValue();
+ this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
+ this.screen.updateFromCurScreen(this.value, screenTemplate);
+ }
+}
\ No newline at end of file
diff --git a/src/Main.java b/src/Main.java
new file mode 100644
index 0000000..e7e8cdd
--- /dev/null
+++ b/src/Main.java
@@ -0,0 +1,99 @@
+import java.util.*;
+
+public class Main {
+ private ScreenTemplates screenTemplates;
+ private Screen screen;
+ private CurScreen curScreen;
+ public Main() {
+ this.screenTemplates = new ScreenTemplates();
+ this.screen = new Screen(screenTemplates);
+ this.curScreen = new CurScreen(screen, screenTemplates);
+ }
+ public Map getScreenTemplate(String scId) {
+ return this.screenTemplates.getScreenTemplate(scId).getValue();
+ }
+ public Map getWidget(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getValue();
+ }
+ public Map getScreenTemplates() {
+ return this.screenTemplates.getValue();
+ }
+ public Map getWidgets() {
+ return this.screen.getWidgets().getValue();
+ }
+ public Map getWidget(String scId, String wid) {
+ return this.screenTemplates.getScreenTemplate(scId).getWidgets().getWidget(wid).getValue();
+ }
+ public Map getWidgets(String scId) {
+ return this.screenTemplates.getScreenTemplate(scId).getWidgets().getValue();
+ }
+ public Map getScreen() {
+ return this.screen.getValue();
+ }
+ public String getCurScreen() {
+ return this.curScreen.getValue();
+ }
+ public int getHeight(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getHeight();
+ }
+ public boolean getLayout() {
+ return this.screen.getLayout();
+ }
+ public void changeLayout(boolean layout) {
+ this.screen.changeLayout(layout);
+ }
+ public int getY(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getY();
+ }
+ public void changeY(String wid, int y) {
+ this.screen.getWidgets().getWidget(wid).changeY(wid, y);
+ }
+ public void addMovableButton(String text, int x, int y, int width, int height, String wid) {
+ this.screen.getWidgets().addMovableButton(text, x, y, width, height, wid);
+ }
+ public void addMovableTextInput(int x, int y, int width, int height, String wid) {
+ this.screen.getWidgets().addMovableTextInput(x, y, width, height, wid);
+ }
+ public void addMovableLabel(String text, int x, int y, int width, int height, String wid) {
+ this.screen.getWidgets().addMovableLabel(text, x, y, width, height, wid);
+ }
+ public void addButton(String text, String wid) {
+ this.screen.getWidgets().addButton(text, wid);
+ }
+ public void addTextInput(String wid) {
+ this.screen.getWidgets().addTextInput(wid);
+ }
+ public void addLabel(String text, String wid) {
+ this.screen.getWidgets().addLabel(text, wid);
+ }
+ public int getWidth(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getWidth();
+ }
+ public int getX(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getX();
+ }
+ public void changeX(String wid, int x) {
+ this.screen.getWidgets().getWidget(wid).changeX(wid, x);
+ }
+ public boolean getVisible(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getVisible();
+ }
+ public String getText(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getText();
+ }
+ public void textEvent(String wid, String nextText) {
+ this.screen.getWidgets().getWidget(wid).textEvent(wid, nextText);
+ }
+ public void changeCurScreen(String nextScId) {
+ this.curScreen.changeCurScreen(nextScId);
+ }
+ public int getState(String scId, String wid) {
+ return this.screenTemplates.getScreenTemplate(scId).getWidgets().getWidget(wid).getState();
+ }
+ public int getState(String wid) {
+ return this.screen.getWidgets().getWidget(wid).getState();
+ }
+ public void mouseEvent(String wid, int nextState) {
+ this.screen.getWidgets().getWidget(wid).mouseEvent(wid, nextState);
+ }
+}
\ No newline at end of file
diff --git a/src/Screen.java b/src/Screen.java
new file mode 100644
index 0000000..521c902
--- /dev/null
+++ b/src/Screen.java
@@ -0,0 +1,29 @@
+import java.util.*;
+
+public class Screen {
+ private ScreenTemplates screenTemplates;
+ private Widgets widgets = new Widgets();
+ private boolean layout;
+ public Screen(ScreenTemplates screenTemplates, boolean layout) {
+ this.screenTemplates = screenTemplates;
+ this.layout = layout;
+ }
+ public Map getValue() {
+ Map temp_nil10 = new HashMap<>();
+ temp_nil10.put("layout",this.getLayout());
+ temp_nil10.put("widgets",this.widgets.getValue());
+ return temp_nil10;
+ }
+ public Widgets getWidgets() {
+ return this.widgets;
+ }
+ public boolean getLayout() {
+ return this.layout;
+ }
+ public void changeLayout(boolean layout) {
+ this.layout = layout;
+ }
+ public void updateFromCurScreen(String curScreen, Map screenTemplate) {
+ this.value = screenTemplate;
+ }
+}
\ No newline at end of file
diff --git a/src/ScreenTemplate.java b/src/ScreenTemplate.java
new file mode 100644
index 0000000..b9a2da5
--- /dev/null
+++ b/src/ScreenTemplate.java
@@ -0,0 +1,13 @@
+import java.util.*;
+
+public class ScreenTemplate {
+ private Widgets widgets = new Widgets();
+ public Map getValue() {
+ Map temp_nil7 = new HashMap<>();
+ temp_nil7.put("widgets",this.widgets.getValue());
+ return temp_nil7;
+ }
+ public Widgets getWidgets() {
+ return this.widgets;
+ }
+}
\ No newline at end of file
diff --git a/src/ScreenTemplates.java b/src/ScreenTemplates.java
new file mode 100644
index 0000000..787128a
--- /dev/null
+++ b/src/ScreenTemplates.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+public class ScreenTemplates {
+ private Map value = temp_json0;
+ public Map getValue() {
+ return new HashMap<>(this.value);
+ }
+ public ScreenTemplate getScreenTemplate(String nextScId) {
+ return this.value.get(nextScId);
+ }
+}
\ No newline at end of file
diff --git a/src/Widget.java b/src/Widget.java
new file mode 100644
index 0000000..3565092
--- /dev/null
+++ b/src/Widget.java
@@ -0,0 +1,31 @@
+import java.util.*;
+
+public class Widget {
+ private CurScreen curScreen;
+ private int state;
+ private CurScreen curScreen;
+ public Map getValue() {
+ Map temp_nil9 = new HashMap<>();
+ temp_nil9.put("state",this.getState());
+ return temp_nil9;
+ }
+ public void updateStateFromState(String self, String self2, String wid, int state, String curScreen) {
+ this.state = state;
+ this.state = state;
+ this.curScreen.updateFromState(scId, wid, this.state);
+ this.curScreen.updateFromState(scId, wid, this.state);
+ }
+ public int getState() {
+ return this.state;
+ }
+ public void updateStateFromState(String self, String self2, String wid, int state, String curScreen) {
+ this.state = state;
+ this.state = state;
+ this.curScreen.updateFromState(scId, wid, this.state);
+ this.curScreen.updateFromState(scId, wid, this.state);
+ }
+ public Widget(int state, CurScreen curScreen) {
+ this.state = state;
+ this.curScreen = curScreen;
+ }
+}
\ No newline at end of file
diff --git a/src/Widgets.java b/src/Widgets.java
new file mode 100644
index 0000000..a021624
--- /dev/null
+++ b/src/Widgets.java
@@ -0,0 +1,11 @@
+import java.util.*;
+
+public class Widgets {
+ private Map value = new HashMap<>();
+ public Map getValue() {
+ return new HashMap<>(this.value);
+ }
+ public Widget getWidget(String wid) {
+ return this.value.get(wid);
+ }
+}
\ No newline at end of file