diff options
author | syeyoung <cyong06@naver.com> | 2021-01-02 00:00:51 +0900 |
---|---|---|
committer | syeyoung <cyong06@naver.com> | 2021-01-02 00:00:51 +0900 |
commit | 43ca7d03db3f75e1820138fb269a7b6ee5b95f08 (patch) | |
tree | c9b160e22febf3959338d205eb45e67009cb1d72 /src/main/java/kr/syeyoung/dungeonsguide/roomedit/elements | |
parent | 5503237b9b2a2b75188188341f2dd8abe477c9f5 (diff) | |
download | Skyblock-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')
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)); |