Example usage for com.badlogic.gdx.scenes.scene2d.utils ChangeListener changed

List of usage examples for com.badlogic.gdx.scenes.scene2d.utils ChangeListener changed

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.utils ChangeListener changed.

Prototype

abstract public void changed(ChangeEvent event, Actor actor);

Source Link

Usage

From source file:com.o2d.pkayjava.editor.view.ui.widget.EditableSelectBox.java

License:Apache License

private void fireChanged() {
    for (int i = 0, n = listeners.size; i < n; i++) {
        ChangeListener listener = listeners.get(i);
        listener.changed(new ChangeListener.ChangeEvent(), EditableSelectBox.this);
    }//from   w  ww  .  ja  v  a 2s  .com
}

From source file:mobi.shad.s3lib.gui.dialog.Editor2d.java

License:Apache License

public void create(Texture areaTexture, final float startX, final float startY, final float width,
        final float height, final ChangeListener changeListener) {

    super.create();

    backendWindow = GuiResource.windowBackend();
    backendWindow.setColor(1f, 1f, 1f, 0f);
    backendWindow.setVisible(false);/*from  ww w .ja  v a2  s .com*/
    S3.stage.addActor(backendWindow);

    mainWindow = GuiResource.window("WidgetBase", "WidgetBase");
    mainWindow.setColor(1f, 1f, 1f, 0f);
    mainWindow.setVisible(false);
    mainWindow.setModal(true);
    mainWindow.setMovable(false);

    this.currentX = startX;
    this.currentY = startY;
    this.currentWidth = width;
    this.currentHeight = height;
    //
    // Grid Layer
    //
    Pixmap pixmap = new Pixmap(10, 10, Pixmap.Format.RGBA8888);
    pixmap.setColor(Color.WHITE);
    pixmap.fill();
    gridtextureLayer = new Texture(pixmap);

    gridLayer = new Widget() {

        @Override
        public void draw(Batch batch, float parentAlpha) {
            batch.setColor(0.8f, 0.8f, 0.8f, 0.3f);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY1, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY2, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY3, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY4, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY5, S3Screen.width, 3);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY6, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY7, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY8, S3Screen.width, 1);
            batch.draw(gridtextureLayer, 0, S3Constans.gridY9, S3Screen.width, 1);

            batch.draw(gridtextureLayer, S3Constans.gridX1, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX2, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX3, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX4, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX5, 0, 3, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX6, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX7, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX8, 0, 1, S3Screen.height);
            batch.draw(gridtextureLayer, S3Constans.gridX9, 0, 1, S3Screen.height);
        }
    };
    gridLayer.setX(0);
    gridLayer.setY(0);
    gridLayer.setWidth(S3Screen.width);
    gridLayer.setHeight(S3Screen.height);

    //
    //
    //
    final TextureRegion areaRegion = new TextureRegion(areaTexture);

    areaImage = new Widget() {

        @Override
        public void draw(Batch batch, float parentAlpha) {
            Color color = getColor();
            batch.setColor(color.r, color.g, color.b, parentAlpha);
            batch.draw(areaRegion, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(),
                    getScaleX(), getScaleY(), getRotation());
        }
    };
    areaImage.setX(currentX);
    areaImage.setY(currentY);
    areaImage.setWidth(currentWidth);
    areaImage.setHeight(currentHeight);

    //
    // Create texture
    //
    Pixmap redPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888);
    redPixmap.setColor(Color.RED);
    redPixmap.fillCircle(16, 16, 14);
    Texture redTexture = new Texture(redPixmap);
    Pixmap yellowPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888);
    yellowPixmap.setColor(Color.YELLOW);
    yellowPixmap.fillCircle(16, 16, 14);
    Texture yellowTexture = new Texture(yellowPixmap);
    Pixmap greenPixmap = new Pixmap(32, 32, Pixmap.Format.RGBA8888);
    greenPixmap.setColor(Color.GREEN);
    greenPixmap.fillCircle(16, 16, 14);
    Texture greenTexture = new Texture(greenPixmap);

    //
    //
    //
    TextButton textButtonOk = GuiResource.textButton("Save", "Save");
    TextButton textButtonFullScreen = GuiResource.textButton("Full", "Full");
    TextButton textButtonCenter = GuiResource.textButton("Center", "Center");
    TextButton textButtonCancel = GuiResource.textButton("Cancel", "Cancel");

    //
    //
    //
    textButtonOk.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            S3Log.log("Editor2d::textButtonOk::clicked", " event: " + event + " actor: " + actor.toString(), 2);
            hide();
            if (changeListener != null) {
                changeListener.changed(event, areaImage);
            }
        }
    });

    textButtonFullScreen.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            S3Log.log("Editor2d::textButtonFullScreen::clicked", " event: " + event + " x: " + x + " y: " + y,
                    2);
            currentX = 0;
            currentY = 0;
            currentWidth = S3Screen.width;
            currentHeight = S3Screen.height;
            setAreaPosistion();
            setTouchPosistion();
        }
    });

    textButtonCenter.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            S3Log.log("Editor2d::textButtonCenter::clicked", " event: " + event + " x: " + x + " y: " + y, 2);
            currentX = S3Screen.centerX - (float) S3Screen.centerX / 2;
            currentY = S3Screen.centerY - (float) S3Screen.centerY / 2;
            currentWidth = (float) S3Screen.centerX;
            currentHeight = (float) S3Screen.centerY;
            setAreaPosistion();
            setTouchPosistion();
        }
    });

    textButtonCancel.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            S3Log.log("Editor2d::textButtonCancel::clicked", " event: " + event + " x: " + x + " y: " + y, 2);
            currentX = startX;
            currentY = startY;
            currentWidth = width;
            currentHeight = height;
            hide();
        }
    });

    sizeElementLabel = GuiResource.label("X: Y: Width: Height:", "sizeElementLabel");
    mainWindow.row();
    mainWindow.add(textButtonOk);
    mainWindow.add(textButtonFullScreen);
    mainWindow.add(textButtonCenter);
    mainWindow.add(textButtonCancel);
    mainWindow.row();
    mainWindow.add(sizeElementLabel).colspan(4).left();
    GuiUtil.windowPosition(mainWindow, 0, 0);

    S3.stage.addActor(gridLayer);
    S3.stage.addActor(areaImage);

    //
    // Create AreaPlot
    //
    dotLeftImage = createAreaPoint("dotLeftImage", redTexture, (int) (currentX - 16),
            (int) (currentY + (currentHeight / 2) - 16));
    dotRightImage = createAreaPoint("dotRightImage", redTexture, (int) (currentX + currentWidth - 16),
            (int) (currentY + (currentHeight / 2) - 16));

    dotTopImage = createAreaPoint("dotTopImage", redTexture, (int) (currentX + (currentWidth / 2) - 16),
            (int) (currentY + currentHeight - 16));
    dotBottomImage = createAreaPoint("dotBottomImage", redTexture, (int) (currentX + (currentWidth / 2) - 16),
            (int) (currentY - 16));

    dotTopLeftImage = createAreaPoint("dotTopLeftImage", yellowTexture, (int) (currentX - 16),
            (int) (currentY + currentHeight - 16));
    dotTopRightImage = createAreaPoint("dotTopRightImage", yellowTexture, (int) (currentX + currentWidth - 16),
            (int) (currentY + currentHeight - 16));

    dotBottomLeftImage = createAreaPoint("dotBottomLeftImage", yellowTexture,
            (int) (currentX + currentWidth - 16), (int) (currentY - 16));
    dotBottomRightImage = createAreaPoint("dotBottomRightImage", yellowTexture,
            (int) (currentX + currentWidth - 16), (int) (currentY - 16));

    dotCenterImage = createAreaPoint("dotCenter", greenTexture, (int) (currentX + (currentWidth / 2) - 16),
            (int) (currentY + (currentHeight / 2) - 16));

    S3.stage.addActor(mainWindow);

    //
    // Assign Listener
    //
    mainWindow.addListener(new InputListener() {
        @Override
        public void touchDragged(InputEvent event, float x, float y, int pointer) {

            lastPointX = pointX;
            lastPointY = pointY;
            pointX = x;
            pointY = y;

            deltaX = pointX - lastPointX;
            deltaY = pointY - lastPointY;

            S3Log.log("dotCenterImage::touchDragged", " event: " + event + " x: " + x + " y: " + y
                    + " pointer: " + pointer + " deltaX: " + deltaX + " deltaY: " + deltaY, 3);

            if (pointClick != null) {
                S3Log.log("dotCenterImage::touchDragged",
                        " Point click: " + pointClickName + " aX: " + aspectRatioX + " aY: " + aspectRatioY, 2);
                if (pointClickName.equalsIgnoreCase("dotLeftImage")) {
                    if (currentX > 0 && deltaX < 0 && currentWidth >= 32) {
                        currentX += deltaX;
                        currentWidth -= deltaX;
                    } else if (currentX < S3Screen.width && deltaX > 0 && currentWidth > 32) {
                        currentX += deltaX;
                        currentWidth -= deltaX;
                    }
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotRightImage")) {
                    if (currentX + currentWidth > 0 && currentX + currentWidth < S3Screen.width
                            && currentWidth >= 32 && currentX > -1 && deltaX > 0) {
                        currentWidth += deltaX;
                    } else if (currentX + currentWidth > 0 && currentX + currentWidth <= S3Screen.width
                            && currentWidth >= 32 && currentX > -1 && deltaX < 0) {
                        currentWidth += deltaX;
                    }
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotTopImage")) {
                    if (currentY + currentHeight > 0 && currentY + currentHeight < S3Screen.height
                            && currentHeight >= 32 && currentY > -1 && deltaY > 0) {
                        currentHeight += deltaY;
                    } else if (currentY + currentHeight > 0 && currentY + currentHeight <= S3Screen.height
                            && currentHeight >= 32 && currentY > -1 && deltaY < 0) {
                        currentHeight += deltaY;
                    }
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotBottomImage")) {
                    if (currentY > 0 && deltaY < 0 && currentHeight >= 32) {
                        currentY += deltaY;
                        currentHeight -= deltaY;
                    } else if (currentY < S3Screen.height && deltaY > 0 && currentHeight > 32) {
                        currentY += deltaY;
                        currentHeight -= deltaY;
                    }
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotTopRightImage")) {
                    float delta = (deltaX + deltaY) / 2;
                    currentHeight += delta * aspectRatioY;
                    currentWidth += delta * aspectRatioX;
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotBottomLeftImage")) {
                    float delta = (deltaX + deltaY) / 2;
                    currentX += delta * aspectRatioX;
                    currentY += delta * aspectRatioY;
                    currentHeight -= delta * aspectRatioY;
                    currentWidth -= delta * aspectRatioX;
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotCenter")) {
                    currentX += deltaX;
                    currentY += deltaY;
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotTopLeftImage")) {
                    float delta = (deltaX - deltaY) / 2;
                    currentX += delta * aspectRatioY;
                    currentHeight -= delta * aspectRatioY;
                    currentWidth -= delta * aspectRatioY;
                    setAreaPosistion();
                    setTouchPosistion();
                } else if (pointClickName.equalsIgnoreCase("dotBottomRightImage")) {
                    float delta = (deltaX - deltaY) / 2;
                    currentY -= delta * aspectRatioY;
                    currentHeight += delta * aspectRatioY;
                    currentWidth += delta * aspectRatioY;
                    setAreaPosistion();
                    setTouchPosistion();
                }

                //
                // dotBottomRightImage

            } else if (isAreaImageClick) {
                currentX += deltaX;
                currentY += deltaY;
                setAreaPosistion();
                setTouchPosistion();
            }
        }

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            S3Log.log("dotCenterImage::touchDown", " event: " + event + " x: " + x + " y: " + y + " pointer: "
                    + pointer + " button: " + button, 3);

            pointX = x;
            pointY = y;
            lastPointX = x;
            lastPointY = y;

            isAreaImageClick = checkAreaClick(x, y);
            pointClick = checkPointClick(x, y);
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            S3Log.log("dotCenterImage::touchUp", " event: " + event + " x: " + x + " y: " + y + " pointer: "
                    + pointer + " button: " + button, 2);
            isAreaImageClick = false;
            pointClick = null;
            pointClickName = "";
        }
    });

    setAreaPosistion();
    setTouchPosistion();
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

public Button addButton(String label, Object object, String fieldName, Object value, boolean newRow,
        int colSpan, boolean toggle, String groupName, ChangeListener changeListener) {

    final ChangeListener outListener = changeListener;

    ////from   w w  w  .ja  v  a2  s. c o  m
    // Gui element
    //
    TextButton buttonTmp = null;
    if (toggle) {
        buttonTmp = GuiResource.textButtonToggle(label, label);
    } else {
        buttonTmp = GuiResource.textButton(label, label);
    }

    final TextButton button = buttonTmp;

    //
    // Action
    //
    if (object != null && fieldName != null) {
        final GuiElement element = new GuiElement(label, 0, object, fieldName, value);

        button.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::button",
                            "Change on button: " + button.getText() + " event: " + event.toString());
                }
                element.assignValue();
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
                }
                if (outListener != null && disableListener == false) {
                    outListener.changed(event, actor);
                }
            }
        });

        if (element.getValue().equals(value)) {
            button.setChecked(true);
        }
    } else if (outListener != null) {
        button.addListener(outListener);
    }

    //
    // Fix slider FixScroll
    //
    button.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            return false;
        }
    });

    if (groupName != null) {
        if (!hashButton.containsKey(groupName)) {
            hashButton.put(groupName, new ButtonGroup(button));
        } else {
            hashButton.get(groupName).add(button);
        }

        hashButton.get(groupName).setChecked(label);
    }

    if (newRow) {
        table.row();
    }
    table.add(button).left().expandX().fillX().colspan(colSpan);
    return button;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param fileName//www .  j  av  a  2 s  . c om
 * @param object
 * @param fieldName
 * @param value
 * @param newRow
 * @param colSpan
 * @param toggle
 * @param buttonSize
 * @param groupName
 * @param changeListener
 * @return
 */
public Button addImgButton(final String fileName, Object object, String fieldName, Object value, boolean newRow,
        int colSpan, boolean toggle, int buttonSize, String groupName, ChangeListener changeListener) {

    final ChangeListener outListener = changeListener;

    Button buttonTmp = null;
    if (toggle) {
        buttonTmp = GuiResource.buttonToogle(fileName);
    } else {
        buttonTmp = GuiResource.button(fileName);
    }

    final Button button = buttonTmp;

    if (object != null && fieldName != null) {
        final GuiElement element = new GuiElement(fileName, 0, object, fieldName, value);

        button.addListener(new ChangeListener() {
            public void changed(ChangeEvent event, Actor actor) {
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::button", "Change on button: " + fileName + " event: " + event.toString());
                }
                element.assignValue();
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
                }
                if (outListener != null && disableListener == false) {
                    outListener.changed(event, actor);
                }
            }
        });

        if (element.getValue().equals(value)) {
            button.setChecked(true);
        }
    } else if (outListener != null) {
        button.addListener(outListener);
    }

    if (groupName != null) {
        if (!hashButton.containsKey(groupName)) {
            hashButton.put(groupName, new ButtonGroup(button));
        } else {
            hashButton.get(groupName).add(button);
        }
        hashButton.get(groupName).setChecked(fileName);
    }

    if (newRow) {
        table.row();
    }
    if (buttonSize == 0) {
        table.add(button).left().expandX().fillX().colspan(colSpan);
    } else {
        table.add(button).left().width(buttonSize).height(buttonSize).colspan(colSpan);

    }
    return button;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param label//  www  . ja va  2s.  c om
 * @param object
 * @param fieldName
 * @param valueOn
 * @param valueOff
 * @param newRow
 * @param colSpan
 * @param groupName
 * @param changeListener
 * @return
 */
public CheckBox addCheckBox(String label, Object object, String fieldName, final Object valueOn,
        final Object valueOff, boolean newRow, int colSpan, String groupName, ChangeListener changeListener) {

    final ChangeListener outListener = changeListener;

    final CheckBox checkBox = GuiResource.checkBox(label, label);

    if (object != null && fieldName != null) {
        final GuiElement element = new GuiElement(label, 0, object, fieldName, valueOff);

        checkBox.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::checkBox",
                            "Click on checkBox: " + checkBox.getText() + " event: " + event.toString());
                }
                if (checkBox.isChecked()) {
                    element.setValue(valueOn);
                } else {
                    element.setValue(valueOff);
                }
                if (S3Constans.DEBUG) {
                    S3Log.log("S3Gui::checkBox", "New value element: " + element.getValueAsString());
                }
                if (outListener != null && disableListener == false) {
                    outListener.changed(event, actor);
                }
            }
        });

        if (element.getValue().equals(valueOn)) {
            checkBox.setChecked(true);
        }
    } else if (outListener != null) {
        checkBox.addListener(outListener);
    }

    if (groupName != null) {
        if (!hashButton.containsKey(groupName)) {
            hashButton.put(groupName, new ButtonGroup(checkBox));
        } else {
            hashButton.get(groupName).add(checkBox);
        }

        hashButton.get(groupName).setChecked(label);
    }

    if (newRow) {
        table.row();
        table.add(checkBox).left().expandX().fillX().colspan(colSpan).padBottom(-S3Constans.cellPaddding * 3);
    } else {
        table.add(checkBox).left().expandX().fillX().colspan(colSpan);
    }

    return checkBox;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param label//from w ww  . j  a v a 2s  .  c o m
 * @param object
 * @param fieldName
 * @param value
 * @param min
 * @param max
 * @param step
 * @param newRow
 * @param showValue
 * @param colSpan
 * @param changeListener
 */
public Slider addSlider(final String label, final Object object, final String fieldName, final float value,
        final float min, final float max, final float step, final boolean newRow, final boolean showValue,
        final int colSpan, final ChangeListener changeListener) {
    if (S3Constans.DEBUG) {
        S3Log.log("3SGui::addSlider", "label: " + label + " fieldName: " + fieldName + " value:" + value
                + " min: " + min + " max: " + max + " step: " + step);
    }
    //
    // Gui Element
    //
    final ChangeListener outListener = changeListener;
    final GuiElement element = new GuiElement(label, 0, object, fieldName, value);
    final Slider slider = GuiResource.slider(min, max, step, "slider");

    final String text = "" + String.format("%.1f", value);
    final Label valueLabel = GuiResource.label(text, label);

    //
    // Action
    //
    slider.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {

            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::button",
                        "Click on button: " + slider.getValue() + " event: " + event.toString());
            }
            element.setValue(slider.getValue());
            valueLabel.setText(new StringBuilder(String.format("%.1f", slider.getValue())));
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
            }
            if (outListener != null && disableListener == false) {
                outListener.changed(event, actor);
            }
        }
    });

    //
    // Fix slider FixScroll
    //
    slider.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            return false;
        }
    });

    //
    // Add value
    //
    try {
        slider.setValue(value);
    } catch (Exception e) {
        S3Log.error("S3Gui:addSlider", "Error set value", e);
    }

    addRow(slider, valueLabel, label, 0, colSpan, newRow, true);
    return slider;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param label//  ww  w.  j  ava2  s. c  o m
 * @param object
 * @param fieldName
 * @param value
 * @param messageText
 * @param newRow
 * @param colSpan
 * @param addStep
 * @param changeListener
 * @return
 */
public TextField addTextNumericField(String label, Object object, String fieldName, String value,
        String messageText, boolean newRow, int colSpan, final int addStep, ChangeListener changeListener) {
    if (S3Constans.DEBUG) {
        S3Log.log("3SGui::addTextField", "label: " + label + " fieldName: " + fieldName + " value:" + value);
    }
    //
    // Gui Element
    //
    final Table bboX = GuiResource.table("");
    final ChangeListener outListener = changeListener;

    final GuiElement element = new GuiElement(label, 0, object, fieldName, value);
    final TextField textField = GuiResource.textField(value, messageText, label);

    final TextButton btnMinus = GuiResource.textButton("-", "btn+");
    btnMinus.pad(S3Constans.buttonPadding);
    final TextButton btnPlus = GuiResource.textButton("+", "btn+");
    btnPlus.pad(S3Constans.buttonPadding);
    final TextButton btnOk = GuiResource.textButton("Ok", "btn+");
    btnOk.pad(S3Constans.buttonPadding);

    final Label guiLabel = GuiResource.label(label, label);

    bboX.row();
    bboX.add(guiLabel).left().width(S3Constans.textInputNumericLabel);
    bboX.add(btnMinus).left().width(S3Constans.textInputNumericPlus);
    bboX.add(textField).left().width(S3Constans.textInputNumeric);
    bboX.add(btnPlus).left().width(S3Constans.textInputNumericPlus);
    bboX.add(btnOk).left().width(S3Constans.textInputNumericPlus);

    //
    // Action
    //
    textField.setTextFieldListener(new TextField.TextFieldListener() {
        @Override
        public void keyTyped(TextField textField, char key) {
            String text = textField.getText();
            // && key!='.'
            if (!Character.isDigit(key) && !Character.isISOControl(key) && key != '.') {
                if (text.length() > 1) {
                    textField.setText(text.substring(0, text.length() - 1));
                    textField.setCursorPosition(text.length());
                } else {
                    textField.setText("");
                }
            }
        }
    });

    btnMinus.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            float val = Float.parseFloat(textField.getText());
            val = val - addStep;
            textField.setText("" + val);
        }
    });
    btnPlus.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            float val = Float.parseFloat(textField.getText());
            val = val + addStep;
            textField.setText("" + val);
        }
    });
    btnOk.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::addTextNumericField",
                        "Click on button Ok: " + textField.getText() + " event: " + event.toString());
            }
            element.setValue(textField.getText());
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
            }
            if (outListener != null && disableListener == false) {
                outListener.changed(event, actor);
            }
        }
    });

    addRow(bboX, null, null, 0, colSpan, newRow, true);
    return textField;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

public TextField addTextField(String label, Object object, String fieldName, String value, String messageText,
        boolean newRow, int colSpan, ChangeListener changeListener) {

    if (S3Constans.DEBUG) {
        S3Log.log("3SGui::addTextField", "label: " + label + " fieldName: " + fieldName + " value:" + value);
    }// ww w . ja v  a  2 s. c  o m
    final Table bboX = GuiResource.table("");
    final ChangeListener outListener = changeListener;

    final GuiElement element = new GuiElement(label, 0, object, fieldName, value);
    final TextField textField = GuiResource.textField(value, messageText, label);

    //
    // Fix slider FixScroll
    //
    textField.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            return false;
        }
    });

    final TextButton btnOk = GuiResource.textButton("Ok", "btn+");
    btnOk.pad(S3Constans.buttonPaddingSmall);

    bboX.row();
    bboX.add(textField).left().fillX().expandX().minWidth(100);
    bboX.add(btnOk).left().width(30);

    btnOk.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::addTextNumericField",
                        "Click on button Ok: " + textField.getText() + " event: " + event.toString());
            }
            element.setValue(textField.getText());
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
            }
            if (outListener != null && disableListener == false) {
                outListener.changed(event, actor);
            }
        }
    });

    addRow(bboX, null, label, 0, colSpan, newRow, false);
    return textField;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param label/*from w w  w  . ja va 2 s. co  m*/
 * @param object
 * @param fieldName
 * @param listItem
 * @param value
 * @param newRow
 * @param colSpan
 * @param changeListener
 * @return
 */
public List addList(String label, Object object, String fieldName, String[] listItem, String value,
        boolean newRow, int colSpan, ChangeListener changeListener, int height) {

    //
    // Gui Element
    //
    final ChangeListener outListener = changeListener;
    final GuiElement element = new GuiElement(label, 0, object, fieldName, value);
    final List list = GuiResource.list(listItem, "list");
    final ScrollPane scrollList = GuiResource.scrollPane(list, "scrollPaneList");
    scrollList.setScrollingDisabled(true, false);
    scrollList.setFlickScroll(false);
    scrollList.setFadeScrollBars(false);

    list.getSelection().set(value);

    //
    // Action
    //
    list.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {

            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::addList",
                        "Click on List: " + list.getSelection().first() + " event: " + event.toString());
            }
            element.setValue(list.getSelection().first());
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::addList", "New value element: " + element.getValueAsString());
            }
            if (outListener != null && disableListener == false) {
                outListener.changed(event, actor);
            }
        }
    });

    //
    // Fix slider FixScroll
    //
    list.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            return false;
        }
    });

    addRow(scrollList, null, label, S3Constans.listSizeY, colSpan, newRow, true);
    return list;
}

From source file:mobi.shad.s3lib.gui.Gui.java

License:Apache License

/**
 * @param label// w w w . j av a 2  s. c  o  m
 * @param object
 * @param fieldName
 * @param listItem
 * @param value
 * @param newRow
 * @param colSpan
 * @param changeListener
 * @return
 */
public List addListIndex(String label, Object object, String fieldName, String[] listItem, int value,
        boolean newRow, int colSpan, ChangeListener changeListener, int height) {

    final ChangeListener outListener = changeListener;

    final GuiElement element = new GuiElement(label, 0, object, fieldName, value);

    final List list = GuiResource.list(listItem, "list");
    final ScrollPane scrollList = GuiResource.scrollPane(list, "scrollPaneList");
    scrollList.setScrollingDisabled(true, false);
    scrollList.setFlickScroll(false);
    scrollList.setFadeScrollBars(false);
    list.setSelectedIndex(value);

    list.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (S3Constans.DEBUG) {

                S3Log.log("S3Gui::button",
                        "Click on button: " + list.getSelectedIndex() + " event: " + event.toString());
            }
            element.setValue(list.getSelectedIndex());
            if (S3Constans.DEBUG) {
                S3Log.log("S3Gui::button", "New value element: " + element.getValueAsString());
            }
            if (outListener != null && disableListener == false) {
                outListener.changed(event, actor);
            }
        }
    });

    //
    // Fix slider FixScroll
    //
    list.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            return false;
        }
    });

    addRow(scrollList, null, label, S3Constans.listSizeY, colSpan, newRow, true);
    return list;
}