use of com.spinyowl.legui.component.optional.align.VerticalAlign.MIDDLE in project legui by SpinyOwl.
the class ExampleGui method createWidgetsWithSomeButtons.
private void createWidgetsWithSomeButtons() {
Widget widget = new Widget("Hello widget", 250, 170, 100, 100);
widget.setTitleHeight(20);
widget.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget.getStyle().setTextColor(ColorConstants.black());
String innerText = "Inner Widget; Resize events: ";
Widget inner = new Widget(innerText + 0);
inner.setResizable(false);
inner.getStyle().setPosition(PositionType.RELATIVE);
inner.getStyle().getFlexStyle().setFlexGrow(1);
inner.getStyle().setMargin(10f);
inner.getContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget.getContainer().getStyle().setDisplay(DisplayType.FLEX);
widget.getContainer().add(inner);
AtomicInteger counter = new AtomicInteger();
inner.getListenerMap().addListener(ChangeSizeEvent.class, e -> {
counter.getAndIncrement();
inner.getTitle().getTextState().setText(innerText + "; Resize events: " + counter.get());
});
this.add(widget);
Button turnWidVisible = new Button("", 360, 280, 20, 20);
turnWidVisible.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == (event.getAction())) {
widget.show();
}
});
Icon bgIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/1.png"));
bgIm.setSize(new Vector2f(20, 20));
turnWidVisible.getStyle().getBackground().setIcon(bgIm);
Icon hbgIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/2.png"));
hbgIm.setSize(new Vector2f(20, 20));
// turnWidVisible.setHoveredBackgroundIcon(hbgIm);
Icon pbIm = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/3.png"));
pbIm.setSize(new Vector2f(20, 20));
// turnWidVisible.setPressedBackgroundIcon(pbIm);
this.add(turnWidVisible);
Widget widget2 = new Widget("Hello 2 widget", 250, 310, 100, 100);
widget2.setTitleHeight(20);
widget2.setCloseButtonColor(ColorConstants.white());
widget2.getCloseButton().getStyle().getBackground().setColor(ColorConstants.black());
widget2.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget2.getStyle().setTextColor(ColorConstants.black());
widget2.setDraggable(false);
widget2.setMinimizable(true);
Button turnDraggable = new Button("Draggable", 10, 10, 80, 20);
turnDraggable.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
Dialog dialog = new Dialog("Question:", 300, 100);
Label questionLabel = new Label("Are you sure want to turn " + (widget2.isDraggable() ? "off" : "on") + "this widget draggable?", 10, 10, 200, 20);
Button yesButton = new Button("Yes", 10, 50, 50, 20);
Button noButton = new Button("No", 70, 50, 50, 20);
yesButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) e -> {
if (CLICK == e.getAction()) {
widget2.setDraggable(!widget2.isDraggable());
dialog.close();
}
});
noButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) e -> {
if (CLICK == e.getAction()) {
dialog.close();
}
});
dialog.getContainer().add(questionLabel);
dialog.getContainer().add(yesButton);
dialog.getContainer().add(noButton);
dialog.show(event.getFrame());
}
});
widget2.getContainer().add(turnDraggable);
this.add(widget2);
Button turnWidVisible2 = new Button("", 360, 310, 20, 20);
turnWidVisible2.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == event.getAction()) {
widget2.show();
}
});
this.add(turnWidVisible2);
Widget widget3 = new Widget("Hello 2 widget", 250, 420, 100, 100);
widget3.setTitleHeight(20);
widget3.setTitleEnabled(false);
widget3.getTitleContainer().getStyle().getBackground().setColor(ColorConstants.lightGreen());
widget3.setCloseable(false);
widget3.setMinimizable(true);
widget3.getStyle().setTextColor(ColorConstants.black());
this.add(widget3);
Button turnWidVisible3 = new Button("", 360, 340, 20, 20);
turnWidVisible3.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (CLICK == event.getAction()) {
widget3.show();
}
});
this.add(turnWidVisible3);
widget3.getContainer().add(new Panel(5, 5, 20, 20));
widget3.getContainer().add(new Panel(30, 5, 20, 20));
widget3.getContainer().add(new Panel(30, 30, 20, 20));
widget3.getContainer().add(new Panel(5, 30, 20, 20));
Button b = new Button(55, 5, 40, 20);
b.getStyle().setFont(FontRegistry.MATERIAL_ICONS_REGULAR);
b.getStyle().setVerticalAlign(MIDDLE);
b.getStyle().setHorizontalAlign(CENTER);
b.getStyle().setFontSize(16f);
String up = TextUtil.cpToStr(0xE5D8);
String down = TextUtil.cpToStr(0xE5DB);
b.getTextState().setText(down);
b.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
widget3.setTitleEnabled(!widget3.isTitleEnabled());
b.getTextState().setText(widget3.isTitleEnabled() ? up : down);
}
});
widget3.getContainer().add(b);
Button b2 = new Button(55, 30, 40, 20);
b2.getStyle().setVerticalAlign(MIDDLE);
b2.getStyle().setHorizontalAlign(CENTER);
b2.getStyle().setFontSize(16f);
String up2 = "-";
String down2 = "+";
b2.getTextState().setText(down2);
b2.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction() == CLICK) {
widget3.setCloseable(!widget3.isCloseable());
b2.getTextState().setText(widget3.isCloseable() ? up2 : down2);
}
});
widget3.getContainer().add(b2);
widget3.getStyle().setMinWidth(100f);
widget3.getStyle().setMinHeight(50f);
widget3.getStyle().setMaxWidth(400f);
widget3.getStyle().setMaxHeight(150f);
}
use of com.spinyowl.legui.component.optional.align.VerticalAlign.MIDDLE in project legui by SpinyOwl.
the class ExampleGui method createToggleButtonWithLongTooltip.
private ToggleButton createToggleButtonWithLongTooltip() {
ToggleButton toggleButton = new ToggleButton("", 100, 170, 40, 20);
Icon bgImageNormal = new ImageIcon(ImageLoader.loadImage("com/spinyowl/legui/demo/toggle.png"));
toggleButton.getListenerMap().addListener(CursorEnterEvent.class, (CursorEnterEventListener) System.out::println);
toggleButton.setTooltip(new Tooltip("Just toggle button with long tooltipText text"));
toggleButton.getListenerMap().addListener(CursorEnterEvent.class, (CursorEnterEventListener) event -> {
if (event.isEntered()) {
getColorAnimation(toggleButton, ColorConstants.blue()).startAnimation();
} else {
getColorAnimation(toggleButton, ColorConstants.red()).startAnimation();
}
});
toggleButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> getSlideImageOnClick(toggleButton, bgImageNormal).startAnimation());
toggleButton.getTooltip().setPosition(45, 0);
toggleButton.getTooltip().getSize().set(140, 40);
toggleButton.getTooltip().getStyle().getBackground().setColor(ColorConstants.darkGray());
toggleButton.getTooltip().getStyle().setTextColor(ColorConstants.white());
toggleButton.getTooltip().getStyle().setPadding(4f);
int[] id = { 0 };
toggleButton.getListenerMap().addListener(MouseClickEvent.class, (MouseClickEventListener) event -> {
if (event.getAction().equals(CLICK)) {
id[0]++;
HorizontalAlign h = LEFT;
VerticalAlign v = TOP;
int hh = id[0] % 3;
int vv = (id[0] / 3) % 3;
switch(hh) {
case 0:
h = LEFT;
break;
case 1:
h = CENTER;
break;
case 2:
h = RIGHT;
break;
}
switch(vv) {
case 0:
v = TOP;
break;
case 1:
v = MIDDLE;
break;
case 2:
v = BOTTOM;
break;
}
System.out.println(h + " " + v);
toggleButton.getTooltip().getStyle().setHorizontalAlign(h);
toggleButton.getTooltip().getStyle().setVerticalAlign(v);
}
});
bgImageNormal.setSize(new Vector2f(100 * 40 / 60, 20));
bgImageNormal.setPosition(new Vector2f(40 - 100 * 40 / 60, 0));
toggleButton.getStyle().getBackground().setIcon(bgImageNormal);
return toggleButton;
}
Aggregations