aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2021-01-02 00:00:51 +0900
committersyeyoung <cyong06@naver.com>2021-01-02 00:00:51 +0900
commit43ca7d03db3f75e1820138fb269a7b6ee5b95f08 (patch)
treec9b160e22febf3959338d205eb45e67009cb1d72 /src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements
parent5503237b9b2a2b75188188341f2dd8abe477c9f5 (diff)
downloadSkyblock-Dungeons-Guide-43ca7d03db3f75e1820138fb269a7b6ee5b95f08.tar.gz
Skyblock-Dungeons-Guide-43ca7d03db3f75e1820138fb269a7b6ee5b95f08.tar.bz2
Skyblock-Dungeons-Guide-43ca7d03db3f75e1820138fb269a7b6ee5b95f08.zip
color edit done
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MColor.java30
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MFloatSelectionButton.java74
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MTextField.java19
3 files changed, 115 insertions, 8 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MColor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MColor.java
new file mode 100644
index 00000000..360d1992
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MColor.java
@@ -0,0 +1,30 @@
+package kr.syeyoung.dungeonsguide.roomedit.elements;
+
+import kr.syeyoung.dungeonsguide.roomedit.MPanel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import net.minecraft.client.gui.Gui;
+
+import java.awt.*;
+
+@AllArgsConstructor
+@NoArgsConstructor
+public class MColor extends MPanel {
+ @Getter
+ @Setter
+ private Color color = Color.white;
+ @Getter
+ @Setter
+ private Dimension size = new Dimension(20,15);
+ @Override
+ public void render(int absMousex, int absMousey, int relMousex0, int relMousey0, float partialTicks, Rectangle scissor) {
+ Rectangle rectangle = getBounds();
+
+ int x = (rectangle.width - getSize().width) / 2;
+ int y = (rectangle.height - getSize().height) / 2;
+
+ Gui.drawRect(x,y,x+getSize().width,y+getSize().height, getColor().getRGB());
+ }
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MFloatSelectionButton.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MFloatSelectionButton.java
new file mode 100755
index 00000000..504d3e33
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MFloatSelectionButton.java
@@ -0,0 +1,74 @@
+package kr.syeyoung.dungeonsguide.roomedit.elements;
+
+import kr.syeyoung.dungeonsguide.roomedit.MPanel;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.awt.*;
+
+@Getter
+@Setter
+public class MFloatSelectionButton extends MPanel {
+
+ private float data;
+
+ private MButton dec;
+ private MButton inc;
+ private MTextField selected;
+
+ @Getter
+ @Setter
+ private Runnable onUpdate;
+
+ public MFloatSelectionButton(float data2) {
+ this.data = data2;
+
+ dec = new MButton(); dec.setText("<"); add(dec);
+ inc = new MButton(); inc.setText(">"); add(inc);
+ selected = new MTextField() {
+ @Override
+ public String getText() {
+ return data +"";
+ }
+ @Override
+ public void edit(String str) {
+ try {
+ data = Float.parseFloat(str);
+ onUpdate.run();
+ } catch (Exception e) {}
+ }
+ }; updateSelected(); add(selected);
+
+ dec.setOnActionPerformed(new Runnable() {
+ @Override
+ public void run() {
+ data--;
+ updateSelected();
+ onUpdate.run();
+ }
+ });
+ inc.setOnActionPerformed(new Runnable() {
+ @Override
+ public void run() {
+ data ++;
+ updateSelected();
+ onUpdate.run();
+ }
+ });
+ }
+
+ public float getSelected() {
+ return data;
+ }
+
+ public void updateSelected() {
+ selected.setText(data+"");
+ }
+
+ @Override
+ public void onBoundsUpdate() {
+ dec.setBounds(new Rectangle(0,0,getBounds().height, getBounds().height));
+ inc.setBounds(new Rectangle(getBounds().width - getBounds().height, 0, getBounds().height, getBounds().height));
+ selected.setBounds(new Rectangle(getBounds().height, 0, getBounds().width - getBounds().height - getBounds().height, getBounds().height));
+ }
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MTextField.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MTextField.java
index 4f6a54cf..39808808 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MTextField.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements/MTextField.java
@@ -36,6 +36,9 @@ public class MTextField extends MPanel {
public void setText(String text) {
this.text = text;
+ }
+ private void setText0(String text) {
+ this.text = text;
edit(text);
}
@@ -177,14 +180,14 @@ public class MTextField extends MPanel {
// backspace
if (keycode == 14 && cursor > 0) {
- setText(this.text.substring(0, cursor - 1) + this.text.substring(cursor));
+ setText0(this.text.substring(0, cursor - 1) + this.text.substring(cursor));
cursor--;
return;
}
//del
if (keycode == 211 && cursor < text.length()) {
- setText(this.text.substring(0, cursor) + this.text.substring(cursor+1));
+ setText0(this.text.substring(0, cursor) + this.text.substring(cursor+1));
return;
}
@@ -206,7 +209,7 @@ public class MTextField extends MPanel {
if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) {
try {
Object theText = transferable.getTransferData(DataFlavor.stringFlavor);
- setText(
+ setText0(
this.text.substring(0, this.cursor)
+ theText
+ this.text.substring(this.cursor));
@@ -223,7 +226,7 @@ public class MTextField extends MPanel {
// text
if (isPrintableChar(typedChar)) {
- setText(
+ setText0(
this.text.substring(0, this.cursor)
+ typedChar
+ this.text.substring(this.cursor));
@@ -257,7 +260,7 @@ public class MTextField extends MPanel {
// backspace
if (keycode == 14 && cursor > 0) {
- setText(this.text.substring(0, selectionStart) + this.text.substring(selectionEnd));
+ setText0(this.text.substring(0, selectionStart) + this.text.substring(selectionEnd));
cursor = selectionStart;
selectionStart = -1;
return;
@@ -265,7 +268,7 @@ public class MTextField extends MPanel {
//del
if (keycode == 211 && cursor < text.length()) {
- setText(this.text.substring(0, selectionStart) + this.text.substring(selectionEnd));
+ setText0(this.text.substring(0, selectionStart) + this.text.substring(selectionEnd));
cursor = selectionStart;
selectionStart = -1;
return;
@@ -289,7 +292,7 @@ public class MTextField extends MPanel {
if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) {
try {
Object theText = transferable.getTransferData(DataFlavor.stringFlavor);
- setText(
+ setText0(
this.text.substring(0, this.selectionStart)
+ theText
+ this.text.substring(this.selectionEnd));
@@ -324,7 +327,7 @@ public class MTextField extends MPanel {
// text
if (isPrintableChar(typedChar)) {
- setText(
+ setText0(
this.text.substring(0, this.selectionStart)
+ typedChar
+ this.text.substring(this.selectionEnd));