Example usage for com.badlogic.gdx.scenes.scene2d.ui TextArea TextArea

List of usage examples for com.badlogic.gdx.scenes.scene2d.ui TextArea TextArea

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.ui TextArea TextArea.

Prototype

public TextArea(String text, TextFieldStyle style) 

Source Link

Usage

From source file:awakening.view.menu.WaitingRoomClient.java

License:Apache License

/**
 * Constructor//from   w w  w . ja  va 2  s.  c om
 * 
 * @param game Tower Awakening's Game
 * @param sound Main menu's music
 * @param effect Button's effect
 */
public WaitingRoomClient(TAGame game, Music sound, Sound effect) {
    this.game = game;
    this.sound = sound;
    this.effect = effect;

    try {
        socket = new Socket(InetAddress.getByName(null), 1134);
        input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    th1 = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                while (true) {
                    String messagePlayer = input.readLine();
                    if (messagePlayer != null) {
                        TextArea t = new TextArea(messagePlayer, skin);
                        t.setTouchable(Touchable.disabled);
                        chatBox.row();
                        chatBox.add(t).height(75).width(500);
                    }
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    th1.start();

    stage = new Stage();

    try {
        if (game.getLanguage().equals("ENGLISH")) {
            language = ResourceBundle.getBundle("awakening.view.menu.res_en_EN", locales[0]);
        } else if (game.getLanguage().equals("FRENCH")) {
            language = ResourceBundle.getBundle("awakening.view.menu.res_fr_FR", locales[1]);
        } else if (game.getLanguage().equals("ITALIAN")) {
            language = ResourceBundle.getBundle("awakening.view.menu.res_it_IT", locales[2]);
        } else {
            language = ResourceBundle.getBundle("awakening.view.menu.res", locales[0]);
        }
    } catch (java.util.MissingResourceException e) {
        System.out.println("yolo");
    }

    ///Viewport
    camera = new OrthographicCamera();
    view = new StretchViewport(Gdx.app.getGraphics().getWidth(), Gdx.app.getGraphics().getWidth(), camera);

    ///Background
    background = new Texture(Gdx.files.internal("img/menu/Background-2.png"));
    batch = new SpriteBatch();

    ///Skin
    skin = new Skin(Gdx.files.internal("uiskin.json"));

    ///Title
    title = new Label(language.getString("label_waiting_room"), skin);

    ///Widgets Background
    widgetsBackground = new Image(new Texture(Gdx.files.internal("img/widget/window_selection.png")));
    widgetsBackground.setSize(Gdx.app.getGraphics().getWidth() - Gdx.app.getGraphics().getWidth() / 8,
            Gdx.app.getGraphics().getHeight() - Gdx.app.getGraphics().getHeight() / 8);

    ///Back Button
    btnBack = new TextButton(language.getString("button_back"), skin);

    ///ChatBox
    chatBox = new Table();
    scroll = new ScrollPane(chatBox);
    scroll.setForceScroll(false, true);
    scroll.setFlickScroll(true);
    scroll.setOverscroll(false, false);

    ///Message
    message = new TextField("", skin);
    btnSend = new TextButton(language.getString("button_send"), skin);

}

From source file:awakening.view.menu.WaitingRoomClient.java

License:Apache License

@Override
public void show() {
    Gdx.input.setInputProcessor(stage);/*from w ww  . j a v  a 2  s. c o  m*/

    ///Title
    title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() - 30);
    stage.addActor(title);

    ///Widgets Background
    widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2);
    stage.addActor(widgetsBackground);

    ///Back Button
    btnBack.setWidth(100);
    btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnBack.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() - widgetsBackground.getHeight() + 10);

    btnBack.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
            effect.play(game.getSoundVolume());
            th1.interrupt();
            game.setScreen(new MainMenu(game, sound, effect));
            return false;
        }
    });
    stage.addActor(btnBack);

    stage.addActor(btnSend);
    stage.addActor(message);
    scroll.setSize(widgetsBackground.getWidth() - ((1 / 8) * widgetsBackground.getWidth()),
            widgetsBackground.getHeight() - widgetsBackground.getHeight() / 2);
    scroll.setPosition(Gdx.app.getGraphics().getWidth() / 2 - scroll.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() / 2 - scroll.getHeight() / 2);
    stage.addActor(scroll);

    btnSend.setPosition(500, 30);

    message.setPosition(btnBack.getX() - message.getWidth() / 2, btnBack.getY() + btnBack.getHeight() + 5);
    btnSend.setWidth(100);
    btnSend.setPosition(message.getX() + message.getWidth(), message.getY());
    btnSend.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
            if (!message.getText().equals("")) {
                TextArea t = new TextArea("Client : " + message.getText(), skin);
                t.setTouchable(Touchable.disabled);

                chatBox.row();
                chatBox.add(t).height(75).width(500);
                if (output != null) {
                    output.println(t.getText());
                }
                message.setText("");
            }

            return false;
        }
    });

}

From source file:awakening.view.menu.WaitingRoomServer.java

License:Apache License

@Override
public void show() {
    Gdx.input.setInputProcessor(stage);/*from   w  ww  .  j a  v  a 2s.  c  o  m*/

    ///Title
    title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() - 30);
    stage.addActor(title);

    ///Widgets Background
    widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2);
    stage.addActor(widgetsBackground);

    ///Back Button
    btnBack.setWidth(100);
    btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnBack.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() - widgetsBackground.getHeight() + 10);

    btnBack.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
            effect.play(game.getSoundVolume());
            th1.interrupt();
            game.setScreen(new MainMenu(game, sound, effect));
            return false;
        }
    });
    stage.addActor(btnBack);

    scroll.setSize(widgetsBackground.getWidth() - ((1 / 8) * widgetsBackground.getWidth()),
            widgetsBackground.getHeight() - widgetsBackground.getHeight() / 2);
    scroll.setPosition(Gdx.app.getGraphics().getWidth() / 2 - scroll.getWidth() / 2,
            Gdx.app.getGraphics().getHeight() / 2 - scroll.getHeight() / 2);
    stage.addActor(scroll);

    btnSend.setWidth(100);
    btnSend.setPosition(btnBack.getX(), btnBack.getY() + btnBack.getHeight() + 5);
    btnSend.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
            if (!message.getText().equals("")) {
                TextArea t = new TextArea("Server : " + message.getText(), skin);
                t.setTouchable(Touchable.disabled);
                chatBox.row();
                chatBox.add(t).height(75).width(500);
                if (output != null) {
                    output.println(t.getText());
                }
                message.setText("");

            }

            return false;
        }
    });
    stage.addActor(btnSend);

    message.setPosition(btnSend.getX() - message.getWidth(), btnSend.getY());
    stage.addActor(message);

    btnStart.setWidth(100);
    btnStart.setPosition(btnSend.getX() + btnSend.getWidth(), btnSend.getY());
    btnStart.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
            effect.play(game.getSoundVolume());
            /// TODO
            return false;
        }
    });
    stage.addActor(btnStart);

    th1 = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                System.out.println("Attente Serveur ");
                connection = serverSocket.accept();
                System.out.println("Connect fdp " + connection.getPort());
                input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                output = new PrintWriter(
                        new BufferedWriter(new OutputStreamWriter(connection.getOutputStream())), true);
                while (true) {
                    String messagePlayer = input.readLine();
                    if (messagePlayer != null) {
                        TextArea t = new TextArea(messagePlayer, skin);
                        t.setTouchable(Touchable.disabled);
                        chatBox.row();
                        chatBox.add(t).height(75).width(500);
                    }
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    th1.start();

}

From source file:com.badlogic.gdx.tests.TextAreaTest2.java

License:Apache License

@Override
public void create() {
    stage = new Stage();
    Gdx.input.setInputProcessor(stage);//from   w w  w .j a  v  a 2s  .com
    skin = new Skin(Gdx.files.internal("data/uiskin.json"));

    //Create a string that perfectly fills the float array used in the textarea float array
    FloatArray dummyArray = new FloatArray();
    String limit = "";
    // Minus one, because TextField adds a magic char
    for (int i = 0; i < dummyArray.items.length - 1; i++) {
        limit += "a";
    }

    TextArea textArea = new TextArea(limit, skin);
    textArea.setX(10);
    textArea.setY(10);
    textArea.setWidth(200);
    textArea.setHeight(200);

    stage.addActor(textArea);
}

From source file:com.bladecoder.engineeditor.ui.components.TextInputPanel.java

License:Apache License

TextInputPanel(Skin skin, String title, String desc, boolean mandatory, String defaultValue) {
    input = new TextArea("", skin);
    input.setPrefRows(10);// w  w w  .  j  a  v a2s .co m

    ScrollPane scroll = new ScrollPane(input, skin);

    init(skin, title, desc, scroll, mandatory, defaultValue);
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

public void refreshPreviewProperties() {
    if (previewPropertiesTable != null) {
        previewPropertiesTable.clear();/*  ww  w.j  a  va  2  s  . c  o m*/
        previewProperties.clear();

        Table t = new Table();
        previewPropertiesTable.add(t).center().expand();
        t.defaults().pad(3.0f);
        t.add(new Label("Stage Color: ", getSkin()));
        BrowseField browseField = new BrowseField(null, null, bfColorStyle);
        browseField.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                main.getDialogFactory().showDialogColorPicker((Color) previewProperties.get("bgcolor"),
                        new DialogColorPicker.ColorListener() {
                            @Override
                            public void selected(Color color) {
                                if (color != null) {
                                    browseField.getTextButton()
                                            .setText((int) (color.r * 255) + "," + (int) (color.g * 255) + ","
                                                    + (int) (color.b * 255) + "," + (int) (color.a * 255));
                                    previewProperties.put("bgcolor", color);
                                    previewBgColor.set(color);
                                    refreshPreview();
                                }
                            }
                        });
            }
        });
        browseField.addListener(main.getHandListener());
        t.add(browseField).growX();
        if (previewBgColor == null) {
            previewBgColor.set(Color.WHITE);
        }
        previewProperties.put("bgcolor", previewBgColor);
        browseField.getTextButton()
                .setText((int) (previewBgColor.r * 255) + "," + (int) (previewBgColor.g * 255) + ","
                        + (int) (previewBgColor.b * 255) + "," + (int) (previewBgColor.a * 255));

        t.row();
        t.add(new Label("Size: ", getSkin())).right();

        previewSizeSelectBox = new SelectBox<>(getSkin());
        previewSizeSelectBox.setItems(DEFAULT_SIZES);
        previewSizeSelectBox.setSelectedIndex(1);
        previewSizeSelectBox.addListener(main.getHandListener());
        t.add(previewSizeSelectBox).growX().minWidth(200.0f);

        if (classSelectBox.getSelectedIndex() >= 0) {
            Class clazz = Main.BASIC_CLASSES[classSelectBox.getSelectedIndex()];
            if (clazz.equals(Button.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                disabledCheckBox.addListener(main.getHandListener());
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                t.add(disabledCheckBox).left();
            } else if (clazz.equals(CheckBox.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                disabledCheckBox.addListener(main.getHandListener());
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

            } else if (clazz.equals(ImageButton.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                disabledCheckBox.addListener(main.getHandListener());
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                t.add(disabledCheckBox).left();
            } else if (clazz.equals(ImageTextButton.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                disabledCheckBox.addListener(main.getHandListener());
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

            } else if (clazz.equals(Label.class)) {
                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

            } else if (clazz.equals(List.class)) {
                t.row();
                t.add(new Label("List Items: ", getSkin())).right();
                TextArea listItemsTextArea = new TextArea("Lorem ipsum\ndolor sit\namet, consectetur",
                        getSkin());
                listItemsTextArea.setFocusTraversal(false);
                listItemsTextArea.setPrefRows(3);
                listItemsTextArea.addListener(main.getIbeamListener());
                listItemsTextArea.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", listItemsTextArea.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", listItemsTextArea.getText());
                t.add(listItemsTextArea).growX();

            } else if (clazz.equals(ProgressBar.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                disabledCheckBox.addListener(main.getHandListener());
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Value: ", getSkin())).right();
                Spinner valueSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                valueSpinner.getTextField().setFocusTraversal(false);
                valueSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("value", valueSpinner.getValue());
                        refreshPreview();
                    }
                });
                valueSpinner.getButtonMinus().addListener(main.getHandListener());
                valueSpinner.getButtonPlus().addListener(main.getHandListener());
                valueSpinner.getTextField().addListener(main.getIbeamListener());
                previewProperties.put("value", valueSpinner.getValue());
                t.add(valueSpinner).growX();

                t.row();
                t.add(new Label("Minimum: ", getSkin())).right();
                Spinner minimumSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                minimumSpinner.getTextField().setFocusTraversal(false);
                minimumSpinner.getTextField().addListener(main.getIbeamListener());
                minimumSpinner.getButtonMinus().addListener(main.getHandListener());
                minimumSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("minimum", minimumSpinner.getValue());
                t.add(minimumSpinner).growX();

                t.row();
                t.add(new Label("Maximum: ", getSkin())).right();
                Spinner maximumSpinner = new Spinner(100.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                maximumSpinner.getTextField().setFocusTraversal(false);
                maximumSpinner.getTextField().addListener(main.getIbeamListener());
                maximumSpinner.getButtonMinus().addListener(main.getHandListener());
                maximumSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("maximum", maximumSpinner.getValue());
                t.add(maximumSpinner).growX();

                minimumSpinner.setMaximum(maximumSpinner.getValue());
                maximumSpinner.setMinimum(minimumSpinner.getValue());
                minimumSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("minimum", minimumSpinner.getValue());
                        maximumSpinner.setMinimum(minimumSpinner.getValue());
                        refreshPreview();
                    }
                });
                maximumSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("maximum", maximumSpinner.getValue());
                        minimumSpinner.setMaximum(maximumSpinner.getValue());
                        refreshPreview();
                    }
                });

                t.row();
                t.add(new Label("Increment: ", getSkin())).right();
                Spinner incrementSpinner = new Spinner(1.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                incrementSpinner.getTextField().setFocusTraversal(false);
                incrementSpinner.setMinimum(1);
                incrementSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("increment", incrementSpinner.getValue());
                        refreshPreview();
                    }
                });
                incrementSpinner.getTextField().addListener(main.getIbeamListener());
                incrementSpinner.getButtonMinus().addListener(main.getHandListener());
                incrementSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("increment", incrementSpinner.getValue());
                t.add(incrementSpinner).growX();

                t.row();
                t.add(new Label("Orientation: ", getSkin())).right();
                SelectBox<String> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(new String[] { "Horizontal", "Vertical" });
                if (getSelectedStyle().name.contains("vert")) {
                    previewProperties.put("orientation", true);
                    selectBox.setSelectedIndex(1);
                } else {
                    previewProperties.put("orientation", false);
                }
                selectBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        if (selectBox.getSelectedIndex() == 0) {
                            previewProperties.put("orientation", false);
                        } else {
                            previewProperties.put("orientation", true);
                        }
                        refreshPreview();
                    }
                });
                selectBox.addListener(main.getHandListener());
                t.add(selectBox).growX();

            } else if (clazz.equals(ScrollPane.class)) {
                t.row();
                t.add(new Label("Scrollbars On Top: ", getSkin())).right();
                ImageTextButton onTopCheckBox = new ImageTextButton("", getSkin(), "switch");
                onTopCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("scrollbarsOnTop", onTopCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(onTopCheckBox).left();
                onTopCheckBox.addListener(main.getHandListener());
                previewProperties.put("scrollbarsOnTop", onTopCheckBox.isChecked());

                t.row();
                t.add(new Label("H ScrollBar Position: ", getSkin())).right();
                SelectBox<String> hScrollPosBox = new SelectBox<>(getSkin());
                hScrollPosBox.setItems(new String[] { "Top", "Bottom" });
                hScrollPosBox.setSelectedIndex(1);
                hScrollPosBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        if (hScrollPosBox.getSelectedIndex() == 0) {
                            previewProperties.put("hScrollBarPosition", false);
                        } else {
                            previewProperties.put("hScrollBarPosition", true);
                        }
                        refreshPreview();
                    }
                });
                t.add(hScrollPosBox).growX();
                hScrollPosBox.addListener(main.getHandListener());
                previewProperties.put("hScrollBarPosition", true);

                t.row();
                t.add(new Label("V ScrollBar Position: ", getSkin())).right();
                SelectBox<String> vScrollPosBox = new SelectBox<>(getSkin());
                vScrollPosBox.setItems(new String[] { "Left", "Right" });
                vScrollPosBox.setSelectedIndex(1);
                vScrollPosBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        if (vScrollPosBox.getSelectedIndex() == 0) {
                            previewProperties.put("vScrollBarPosition", false);
                        } else {
                            previewProperties.put("vScrollBarPosition", true);
                        }
                        refreshPreview();
                    }
                });
                t.add(vScrollPosBox).growX();
                vScrollPosBox.addListener(main.getHandListener());
                previewProperties.put("vScrollBarPosition", true);

                t.row();
                t.add(new Label("H Scrolling Disabled: ", getSkin())).right();
                ImageTextButton hScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                hScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("hScrollDisabled", hScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(hScrollCheckBox).left();
                hScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("hScrollDisabled", hScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("V Scrolling Disabled: ", getSkin())).right();
                ImageTextButton vScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                vScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("vScrollDisabled", vScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(vScrollCheckBox).left();
                vScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("vScrollDisabled", vScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Force H Scroll: ", getSkin())).right();
                ImageTextButton forceHScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                forceHScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("forceHscroll", forceHScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(forceHScrollCheckBox).left();
                forceHScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("forceHscroll", forceHScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Force V Scroll: ", getSkin())).right();
                ImageTextButton forceVScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                forceVScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("forceVscroll", forceVScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(forceVScrollCheckBox).left();
                forceVScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("forceVscroll", forceVScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Variable Size Knobs: ", getSkin())).right();
                ImageTextButton variableSizeKnobsCheckBox = new ImageTextButton("", getSkin(), "switch");
                variableSizeKnobsCheckBox.setChecked(true);
                variableSizeKnobsCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("variableSizeKnobs", variableSizeKnobsCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(variableSizeKnobsCheckBox).left();
                variableSizeKnobsCheckBox.addListener(main.getHandListener());
                previewProperties.put("variableSizeKnobs", variableSizeKnobsCheckBox.isChecked());

                t.row();
                t.add(new Label("H Overscroll: ", getSkin())).right();
                ImageTextButton hOverscrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                hOverscrollCheckBox.setChecked(true);
                hOverscrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("hOverscroll", hOverscrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(hOverscrollCheckBox).left();
                hOverscrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("hOverscroll", hOverscrollCheckBox.isChecked());

                t.row();
                t.add(new Label("V Overscroll: ", getSkin())).right();
                ImageTextButton vOverscrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                vOverscrollCheckBox.setChecked(true);
                vOverscrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("vOverscroll", vOverscrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(vOverscrollCheckBox).left();
                vOverscrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("vOverscroll", vOverscrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Fade Scroll Bars: ", getSkin())).right();
                ImageTextButton fadeScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                fadeScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("fadeScroll", fadeScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(fadeScrollCheckBox).left();
                fadeScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("fadeScroll", fadeScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Smooth Scrolling: ", getSkin())).right();
                ImageTextButton smoothScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                smoothScrollCheckBox.setChecked(true);
                smoothScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("smoothScroll", smoothScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(smoothScrollCheckBox).left();
                smoothScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("smoothScroll", smoothScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Flick Scroll: ", getSkin())).right();
                ImageTextButton flickScrollCheckBox = new ImageTextButton("", getSkin(), "switch");
                flickScrollCheckBox.setChecked(true);
                flickScrollCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("flickScroll", flickScrollCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(flickScrollCheckBox).left();
                flickScrollCheckBox.addListener(main.getHandListener());
                previewProperties.put("flickScroll", flickScrollCheckBox.isChecked());

                t.row();
                t.add(new Label("Clamp: ", getSkin())).right();
                ImageTextButton clampCheckBox = new ImageTextButton("", getSkin(), "switch");
                clampCheckBox.setChecked(true);
                clampCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("clamp", clampCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(clampCheckBox).left();
                clampCheckBox.addListener(main.getHandListener());
                previewProperties.put("clamp", clampCheckBox.isChecked());

                t.row();
                t.add(new Label("Sample Text: ", getSkin())).right();
                TextArea previewTextArea = new TextArea(PARAGRAPH_SAMPLE_EXT, getSkin());
                previewTextArea.setFocusTraversal(false);
                previewTextArea.setPrefRows(5);
                previewTextArea.addListener(main.getIbeamListener());
                previewTextArea.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextArea.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextArea.getText());
                t.add(previewTextArea).growX();

                previewSizeSelectBox.setSelectedIndex(2);
            } else if (clazz.equals(SelectBox.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                disabledCheckBox.addListener(main.getHandListener());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Max List Count: ", getSkin())).right();
                Spinner spinner = new Spinner(3, 1, true, Spinner.Orientation.HORIZONTAL, spinnerStyle);
                spinner.getTextField().setFocusTraversal(false);
                spinner.setMinimum(1);
                spinner.getTextField().addListener(main.getIbeamListener());
                spinner.getButtonMinus().addListener(main.getHandListener());
                spinner.getButtonPlus().addListener(main.getHandListener());
                t.add(spinner).growX();

                t.row();
                t.add(new Label("List Items: ", getSkin())).right();
                TextArea listItemsTextArea = new TextArea("Lorem ipsum\ndolor sit\namet, consectetur",
                        getSkin());
                listItemsTextArea.setFocusTraversal(false);
                listItemsTextArea.setPrefRows(3);
                listItemsTextArea.addListener(main.getIbeamListener());
                listItemsTextArea.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", listItemsTextArea.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", listItemsTextArea.getText());
                t.add(listItemsTextArea).growX();

            } else if (clazz.equals(Slider.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                disabledCheckBox.addListener(main.getHandListener());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Minimum: ", getSkin())).right();
                Spinner minimumSpinner = new Spinner(0.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                minimumSpinner.getTextField().setFocusTraversal(false);
                minimumSpinner.getTextField().addListener(main.getIbeamListener());
                t.add(minimumSpinner).growX();
                minimumSpinner.getButtonMinus().addListener(main.getHandListener());
                minimumSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("minimum", minimumSpinner.getValue());

                t.row();
                t.add(new Label("Maximum: ", getSkin())).right();
                Spinner maximumSpinner = new Spinner(100.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                maximumSpinner.getTextField().setFocusTraversal(false);
                maximumSpinner.getTextField().addListener(main.getIbeamListener());
                t.add(maximumSpinner).growX();
                maximumSpinner.getButtonMinus().addListener(main.getHandListener());
                maximumSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("maximum", maximumSpinner.getValue());

                minimumSpinner.setMaximum(maximumSpinner.getValue());
                maximumSpinner.setMinimum(minimumSpinner.getValue());
                minimumSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("minimum", minimumSpinner.getValue());
                        maximumSpinner.setMinimum(minimumSpinner.getValue());
                        refreshPreview();
                    }
                });
                maximumSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("maximum", maximumSpinner.getValue());
                        minimumSpinner.setMaximum(maximumSpinner.getValue());
                        refreshPreview();
                    }
                });

                t.row();
                t.add(new Label("Increment: ", getSkin())).right();
                Spinner incrementSpinner = new Spinner(1.0f, 1.0f, false, Spinner.Orientation.HORIZONTAL,
                        spinnerStyle);
                incrementSpinner.getTextField().setFocusTraversal(false);
                incrementSpinner.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("increment", incrementSpinner.getValue());
                        refreshPreview();
                    }
                });
                incrementSpinner.getTextField().addListener(main.getIbeamListener());
                t.add(incrementSpinner).growX();
                incrementSpinner.getButtonMinus().addListener(main.getHandListener());
                incrementSpinner.getButtonPlus().addListener(main.getHandListener());
                previewProperties.put("increment", incrementSpinner.getValue());

                t.row();
                t.add(new Label("Orientation: ", getSkin())).right();
                SelectBox<String> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(new String[] { "Horizontal", "Vertical" });
                if (getSelectedStyle().name.contains("vert")) {
                    previewProperties.put("orientation", true);
                    selectBox.setSelectedIndex(1);
                } else {
                    previewProperties.put("orientation", false);
                }
                selectBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        if (selectBox.getSelectedIndex() == 0) {
                            previewProperties.put("orientation", false);
                        } else {
                            previewProperties.put("orientation", true);
                        }
                        refreshPreview();
                    }
                });
                selectBox.addListener(main.getHandListener());
                t.add(selectBox).growX();
            } else if (clazz.equals(SplitPane.class)) {
                t.row();
                t.add(new Label("Orientation: ", getSkin())).right();
                SelectBox<String> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(new String[] { "Horizontal", "Vertical" });
                if (getSelectedStyle().name.contains("vert")) {
                    previewProperties.put("orientation", true);
                    selectBox.setSelectedIndex(1);
                } else {
                    previewProperties.put("orientation", false);
                }
                selectBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        if (selectBox.getSelectedIndex() == 0) {
                            previewProperties.put("orientation", false);
                        } else {
                            previewProperties.put("orientation", true);
                        }
                        refreshPreview();
                    }
                });
                selectBox.addListener(main.getHandListener());
                t.add(selectBox).growX();

                t.row();
                t.add(new Label("Sample Text: ", getSkin())).right();
                TextArea textArea = new TextArea(PARAGRAPH_SAMPLE, getSkin());
                textArea.setFocusTraversal(false);
                textArea.setPrefRows(5);
                textArea.addListener(main.getIbeamListener());
                textArea.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", textArea.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", textArea.getText());
                t.add(textArea).growX();

                previewSizeSelectBox.setSelectedIndex(2);
            } else if (clazz.equals(TextButton.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                disabledCheckBox.addListener(main.getHandListener());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

            } else if (clazz.equals(TextField.class)) {
                t.row();
                t.add(new Label("Disabled: ", getSkin())).right();
                ImageTextButton disabledCheckBox = new ImageTextButton("", getSkin(), "switch");
                disabledCheckBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("disabled", disabledCheckBox.isChecked());
                        refreshPreview();
                    }
                });
                previewProperties.put("disabled", disabledCheckBox.isChecked());
                disabledCheckBox.addListener(main.getHandListener());
                t.add(disabledCheckBox).left();

                t.row();
                t.add(new Label("Password Mode: ", getSkin())).right();
                ImageTextButton checkBox = new ImageTextButton("", getSkin(), "switch");
                checkBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("passwordMode", checkBox.isChecked());
                        refreshPreview();
                    }
                });
                t.add(checkBox).left();
                checkBox.addListener(main.getHandListener());
                previewProperties.put("passwordMode", checkBox.isChecked());

                t.row();
                t.add(new Label("Password Character: ", getSkin()));
                TextField pcTextField = new TextField("*", getSkin());
                pcTextField.setFocusTraversal(false);
                pcTextField.addListener(main.getIbeamListener());
                pcTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("password", pcTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("password", pcTextField.getText());
                t.add(pcTextField).growX();

                t.row();
                t.add(new Label("Text Alignment: ", getSkin())).right();
                SelectBox<String> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(new String[] { "Left", "Center", "Right" });
                selectBox.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        switch (selectBox.getSelectedIndex()) {
                        case 0:
                            previewProperties.put("alignment", Align.left);
                            break;
                        case 1:
                            previewProperties.put("alignment", Align.center);
                            break;
                        case 2:
                            previewProperties.put("alignment", Align.right);
                            break;
                        }
                    }
                });
                t.add(selectBox).growX();
                selectBox.addListener(main.getHandListener());
                previewProperties.put("alignment", Align.left);

                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

                t.row();
                t.add(new Label("Message Text: ", getSkin()));
                TextField messageTextField = new TextField(TEXT_SAMPLE, getSkin());
                messageTextField.setFocusTraversal(false);
                messageTextField.addListener(main.getIbeamListener());
                messageTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("message", messageTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("message", messageTextField.getText());
                t.add(messageTextField).growX();

            } else if (clazz.equals(TextTooltip.class)) {
                t.row();
                t.add(new Label("Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", previewTextField.getText());
                t.add(previewTextField).growX();

            } else if (clazz.equals(Touchpad.class)) {

            } else if (clazz.equals(Tree.class)) {
                t.row();
                t.add(new Label("Icon Spacing: ", getSkin())).right();
                Spinner spinner = new Spinner(0.0, 1.0, false, Spinner.Orientation.HORIZONTAL, spinnerStyle);
                spinner.getTextField().setFocusTraversal(false);
                spinner.setMinimum(1);
                spinner.getTextField().addListener(main.getIbeamListener());
                spinner.getButtonMinus().addListener(main.getHandListener());
                spinner.getButtonPlus().addListener(main.getHandListener());
                t.add(spinner).growX();

                t.row();
                t.add(new Label("Y Spacing: ", getSkin())).right();
                spinner = new Spinner(0.0, 1.0, false, Spinner.Orientation.HORIZONTAL, spinnerStyle);
                spinner.getTextField().setFocusTraversal(false);
                spinner.setMinimum(1);
                spinner.getTextField().addListener(main.getIbeamListener());
                spinner.getButtonMinus().addListener(main.getHandListener());
                spinner.getButtonPlus().addListener(main.getHandListener());
                t.add(spinner).growX();

            } else if (clazz.equals(Window.class)) {
                t.row();
                t.add(new Label("Title Text: ", getSkin()));
                TextField previewTextField = new TextField(TEXT_SAMPLE, getSkin());
                previewTextField.setFocusTraversal(false);
                previewTextField.addListener(main.getIbeamListener());
                previewTextField.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("title", previewTextField.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("title", previewTextField.getText());
                t.add(previewTextField).growX();

                t.row();
                t.add(new Label("Sample Text Color: ", getSkin()));
                BrowseField textColorField = new BrowseField(null, null, bfColorStyle);
                textColorField.addListener(main.getHandListener());
                t.add(textColorField).growX();

                t.row();
                t.add(new Label("Sample Text: ", getSkin())).right();
                TextArea textArea = new TextArea(PARAGRAPH_SAMPLE, getSkin());
                textArea.setFocusTraversal(false);
                textArea.setPrefRows(5);
                textArea.addListener(main.getIbeamListener());
                textArea.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        previewProperties.put("text", textArea.getText());
                        refreshPreview();
                    }
                });
                previewProperties.put("text", textArea.getText());
                t.add(textArea).growX();
            }

            previewSizeSelectBox.addListener(new ChangeListener() {
                @Override
                public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                    previewProperties.put("size", previewSizeSelectBox.getSelectedIndex());
                    if (previewSizeSelectBox.getSelectedIndex() != 7) {
                        refreshPreview();
                    }
                }
            });
            previewProperties.put("size", previewSizeSelectBox.getSelectedIndex());

            refreshPreview();
        }
    }
}

From source file:es.eucm.ead.editor.view.widgets.options.OptionsPanel.java

License:Open Source License

/**
 * Creates a text option, with a text area as widget
 * /*  w  w w. j  av a2s .co  m*/
 * @param label
 *            the label for the option
 * @param tooltip
 *            the tooltip for the option (can be null)
 * @param maxLines
 *            the number of lines for the text area
 * @return the option created
 */
public Option text(String label, String tooltip, int maxLines) {
    TextArea textArea = new TextArea("", skin);
    textArea.setPrefRows(maxLines);
    Option option = newOption(label, tooltip, textArea);
    addOption(option);
    return option;
}

From source file:gaia.cu9.ari.gaiaorbit.interfce.AboutWindow.java

License:Open Source License

public AboutWindow(Stage stg, Skin sk) {
    super(txt("gui.help.help") + " - " + GlobalConf.APPLICATION_NAME + " v" + GlobalConf.version.version, sk);

    this.stage = stg;
    this.skin = sk;
    this.me = this;
    this.linkStyle = skin.get("link", LabelStyle.class);

    float tawidth = 440 * GlobalConf.SCALE_FACTOR;
    float taheight = 250 * GlobalConf.SCALE_FACTOR;
    float taheight_s = 60 * GlobalConf.SCALE_FACTOR;
    float tabwidth = 60 * GlobalConf.SCALE_FACTOR;
    float pad = 5 * GlobalConf.SCALE_FACTOR;

    scrolls = new ArrayList<OwnScrollPane>(5);
    textareas = new ArrayList<Actor>();

    /** TABLE and SCROLL **/
    table = new Table(skin);

    // Create the tab buttons
    HorizontalGroup group = new HorizontalGroup();
    group.align(Align.left);//from  w  w  w . jav a 2 s.c om

    final Button tab1 = new OwnTextButton(txt("gui.help.help"), skin, "toggle-big");
    tab1.pad(pad);
    tab1.setWidth(tabwidth);
    final Button tab2 = new OwnTextButton(txt("gui.help.about"), skin, "toggle-big");
    tab2.pad(pad);
    tab2.setWidth(tabwidth);
    final Button tab3 = new OwnTextButton(txt("gui.help.system"), skin, "toggle-big");
    tab3.pad(pad);
    tab3.setWidth(tabwidth);

    group.addActor(tab1);
    group.addActor(tab2);
    group.addActor(tab3);
    table.add(group).align(Align.left).padLeft(pad);
    table.row();

    // Create the tab content. Just using images here for simplicity.
    Stack content = new Stack();

    /** CONTENT 1 - HELP **/
    final Table content1 = new Table(skin);
    content1.align(Align.top);
    Image gaiasky = new Image(getSpriteDrawable(Gdx.files.internal("img/gaiaskylogo.png")));

    // User manual
    Label usermantitle = new OwnLabel(txt("gui.help.usermanual"), skin, "ui-12");
    Label usermantxt = new OwnLabel(txt("gui.help.help1"), skin, "ui-11");
    Link usermanlink = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE);

    // Wiki
    Label wikititle = new OwnLabel("Docs", skin, "ui-12");
    Label wikitxt = new OwnLabel(txt("gui.help.help2"), skin, "ui-11");
    Link wikilink = new Link(GlobalConf.DOCUMENTATION, linkStyle, GlobalConf.DOCUMENTATION);

    // Readme
    Label readmetitle = new OwnLabel(txt("gui.help.readme"), skin, "ui-12");
    FileHandle readmefile = Gdx.files.internal("README.md");
    if (!readmefile.exists()) {
        readmefile = Gdx.files.internal("../README.md");
    }
    String readmestr = readmefile.readString();
    int lines = GlobalResources.countOccurrences(readmestr, '\n');
    TextArea readme = new TextArea(readmestr, skin);
    readme.setDisabled(true);
    readme.setPrefRows(lines);
    textareas.add(readme);

    OwnScrollPane readmescroll = new OwnScrollPane(readme, skin, "default-nobg");
    readmescroll.setWidth(tawidth);
    readmescroll.setHeight(taheight);
    readmescroll.setForceScroll(false, true);
    readmescroll.setSmoothScrolling(true);
    readmescroll.setFadeScrollBars(false);

    scrolls.add(readmescroll);

    // Add all to content
    content1.add(gaiasky).colspan(2);
    content1.row();
    content1.add(usermantitle).align(Align.left).padRight(pad * 2);
    content1.add(usermantxt).align(Align.left);
    content1.row();
    content1.add(new OwnLabel("", skin, "ui-11"));
    content1.add(usermanlink).align(Align.left);
    content1.row();
    content1.add(wikititle).align(Align.left).padRight(pad * 2);
    content1.add(wikitxt).align(Align.left);
    content1.row();
    content1.add(new OwnLabel("", skin, "ui-11"));
    content1.add(wikilink).align(Align.left);
    content1.row();
    content1.add(readmetitle).colspan(2).align(Align.left);
    content1.row();
    content1.add(readmescroll).colspan(2).expand().pad(pad * 2, 0, pad * 2, 0).align(Align.center);

    /** CONTENT 2 - ABOUT **/
    final Table content2 = new Table(skin);
    content2.align(Align.top);

    // Intro
    TextArea intro = new OwnTextArea(txt("gui.help.gscredits", GlobalConf.version.version),
            skin.get("msg-11", TextFieldStyle.class));
    intro.setDisabled(true);
    intro.setPrefRows(3);
    intro.setWidth(tawidth);
    textareas.add(intro);

    // Home page
    Label homepagetitle = new OwnLabel(txt("gui.help.homepage"), skin, "ui-12");
    Link homepage = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE);

    // Author
    Label authortitle = new OwnLabel(txt("gui.help.author"), skin, "ui-12");

    VerticalGroup author = new VerticalGroup();
    author.align(Align.left);
    Label authorname = new OwnLabel("Toni Sagrist Sells", skin, "ui-11");
    Link authormail = new Link("tsagrista@ari.uni-heidelberg.de", linkStyle,
            "mailto:tsagrista@ari.uni-heidelberg.de");
    Link authorpage = new Link("www.tonisagrista.com", linkStyle, "http://tonisagrista.com");
    author.addActor(authorname);
    author.addActor(authormail);
    author.addActor(authorpage);

    // Contributor
    Label contribtitle = new OwnLabel(txt("gui.help.contributors"), skin, "ui-12");

    VerticalGroup contrib = new VerticalGroup();
    contrib.align(Align.left);
    Label contribname = new OwnLabel("Apl. Prof. Dr. Stefan Jordan", skin, "ui-11");
    Link contribmail = new Link("jordan@ari.uni-heidelberg.de", linkStyle,
            "mailto:jordan@ari.uni-heidelberg.de");
    contrib.addActor(contribname);
    contrib.addActor(contribmail);

    // License
    HorizontalGroup licenseh = new HorizontalGroup();
    licenseh.space(pad * 2);
    Image license = new Image(getSpriteDrawable(Gdx.files.internal("img/license.png")));

    VerticalGroup licensev = new VerticalGroup();
    TextArea licensetext = new OwnTextArea(txt("gui.help.license"), skin.get("msg-11", TextFieldStyle.class));
    licensetext.setDisabled(true);
    licensetext.setPrefRows(3);
    licensetext.setWidth(tawidth / 2f);
    Link licenselink = new Link("https://www.gnu.org/licenses/gpl.html", linkStyle,
            "https://www.gnu.org/licenses/gpl.html");

    licensev.addActor(licensetext);
    licensev.addActor(licenselink);

    licenseh.addActor(license);
    licenseh.addActor(licensev);

    // Thanks

    HorizontalGroup thanks = new HorizontalGroup();
    thanks.space(pad * 2);
    Container thanksc = new Container(thanks);
    thanksc.setBackground(skin.getDrawable("bg-clear"));

    Image zah = new Image(getSpriteDrawable(Gdx.files.internal("img/zah.png")));
    Image dlr = new Image(getSpriteDrawable(Gdx.files.internal("img/dlr.png")));
    Image bwt = new Image(getSpriteDrawable(Gdx.files.internal("img/bwt.png")));
    Image dpac = new Image(getSpriteDrawable(Gdx.files.internal("img/dpac.png")));

    thanks.addActor(zah);
    thanks.addActor(dlr);
    thanks.addActor(bwt);
    thanks.addActor(dpac);

    content2.add(intro).colspan(2).align(Align.left).padTop(pad * 2);
    content2.row();
    content2.add(homepagetitle).align(Align.topLeft).padRight(pad * 2);
    content2.add(homepage).align(Align.left);
    content2.row();
    content2.add(authortitle).align(Align.topLeft).padRight(pad * 2).padTop(pad);
    content2.add(author).align(Align.left).padTop(pad);
    content2.row();
    content2.add(contribtitle).align(Align.topLeft).padRight(pad * 2).padTop(pad);
    content2.add(contrib).align(Align.left).padTop(pad);
    content2.row();
    content2.add(licenseh).colspan(2).align(Align.center).padTop(pad * 4);
    content2.row();
    content2.add(thanksc).colspan(2).align(Align.center).padTop(pad * 8);

    /** CONTENT 3 - SYSTEM **/
    final Table content3 = new Table(skin);
    content3.align(Align.top);

    // Build info
    Label buildinfo = new OwnLabel(txt("gui.help.buildinfo"), skin, "help-title");

    Label versiontitle = new OwnLabel(txt("gui.help.version", GlobalConf.APPLICATION_NAME), skin, "ui-12");
    Label version = new OwnLabel(GlobalConf.version.version, skin, "ui-11");

    Label revisiontitle = new OwnLabel(txt("gui.help.buildnumber"), skin, "ui-12");
    Label revision = new OwnLabel(GlobalConf.version.build, skin, "ui-11");

    Label timetitle = new OwnLabel(txt("gui.help.buildtime"), skin, "ui-12");
    Label time = new OwnLabel(GlobalConf.version.buildtime, skin, "ui-11");

    Label systemtitle = new OwnLabel(txt("gui.help.buildsys"), skin, "ui-12");
    TextArea system = new OwnTextArea(GlobalConf.version.system, skin.get("msg-11", TextFieldStyle.class));
    system.setDisabled(true);
    system.setPrefRows(3);
    system.setWidth(tawidth * 2f / 3f);
    textareas.add(system);

    Label buildertitle = new OwnLabel(txt("gui.help.builder"), skin, "ui-12");
    Label builder = new OwnLabel(GlobalConf.version.builder, skin, "ui-11");

    // Java info
    Label javainfo = new OwnLabel(txt("gui.help.javainfo"), skin, "help-title");

    Label javaversiontitle = new OwnLabel(txt("gui.help.javaversion"), skin, "ui-12");
    Label javaversion = new OwnLabel(System.getProperty("java.version"), skin, "ui-11");

    Label javaruntimetitle = new OwnLabel(txt("gui.help.javaname"), skin, "ui-12");
    Label javaruntime = new OwnLabel(System.getProperty("java.runtime.name"), skin, "ui-11");

    Label javavmnametitle = new OwnLabel(txt("gui.help.javavmname"), skin, "ui-12");
    Label javavmname = new OwnLabel(System.getProperty("java.vm.name"), skin, "ui-11");

    Label javavmversiontitle = new OwnLabel(txt("gui.help.javavmversion"), skin, "ui-12");
    Label javavmversion = new OwnLabel(System.getProperty("java.vm.version"), skin, "ui-11");

    Label javavmvendortitle = new OwnLabel(txt("gui.help.javavmvendor"), skin, "ui-12");
    Label javavmvendor = new OwnLabel(System.getProperty("java.vm.vendor"), skin, "ui-11");

    TextButton memoryinfobutton = new OwnTextButton(txt("gui.help.meminfo"), skin, "default");
    memoryinfobutton.setName("memoryinfo");
    memoryinfobutton.setSize(150 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR);
    memoryinfobutton.addListener(new EventListener() {
        @Override
        public boolean handle(Event event) {
            if (event instanceof ChangeEvent) {
                EventManager.instance.post(Events.DISPLAY_MEM_INFO_WINDOW, stage, skin);
                return true;
            }

            return false;
        }

    });

    // OpenGL info
    Label glinfo = new OwnLabel(txt("gui.help.openglinfo"), skin, "help-title");

    Label glversiontitle = new OwnLabel(txt("gui.help.openglversion"), skin, "ui-12");
    Label glversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_VERSION), skin, "ui-11");

    Label glslversiontitle = new OwnLabel(txt("gui.help.glslversion"), skin, "ui-12");
    Label glslversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION), skin, "ui-11");

    Label glextensionstitle = new OwnLabel(txt("gui.help.glextensions"), skin, "ui-12");
    String glextensionsstr = Gdx.gl.glGetString(GL20.GL_EXTENSIONS).replace(' ', '\r');
    lines = GlobalResources.countOccurrences(glextensionsstr, '\r') + 1;
    IntBuffer buf = BufferUtils.newIntBuffer(16);
    Gdx.gl.glGetIntegerv(Gdx.graphics.getGL20().GL_MAX_TEXTURE_SIZE, buf);
    int maxSize = buf.get(0);
    TextArea glextensions = new TextArea("Max texture size: " + maxSize + "\r" + glextensionsstr, skin);
    glextensions.setDisabled(true);
    glextensions.setPrefRows(lines);

    textareas.add(glextensions);

    OwnScrollPane glextensionsscroll = new OwnScrollPane(glextensions, skin, "default-nobg");
    glextensionsscroll.setWidth(tawidth / 1.7f);
    glextensionsscroll.setHeight(taheight_s);
    glextensionsscroll.setForceScroll(false, true);
    glextensionsscroll.setSmoothScrolling(true);
    glextensionsscroll.setFadeScrollBars(false);
    scrolls.add(glextensionsscroll);

    content3.add(buildinfo).colspan(2).align(Align.left).padTop(pad * 3);
    content3.row();
    content3.add(versiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(version).align(Align.left);
    content3.row();
    content3.add(revisiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(revision).align(Align.left);
    content3.row();
    content3.add(timetitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(time).align(Align.left);
    content3.row();
    content3.add(buildertitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(builder).align(Align.left).padBottom(pad * 3);
    content3.row();
    content3.add(systemtitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(system).align(Align.left);
    content3.row();

    content3.add(javainfo).colspan(2).align(Align.left).padTop(pad * 2);
    content3.row();
    content3.add(javaversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javaversion).align(Align.left);
    content3.row();
    content3.add(javaruntimetitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javaruntime).align(Align.left);
    content3.row();
    content3.add(javavmnametitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmname).align(Align.left);
    content3.row();
    content3.add(javavmversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmversion).align(Align.left);
    content3.row();
    content3.add(javavmvendortitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmvendor).align(Align.left).padBottom(pad * 2);
    content3.row();
    content3.add(memoryinfobutton).colspan(2).align(Align.left).padBottom(pad * 3);
    content3.row();
    content3.add(glinfo).colspan(2).align(Align.left).padTop(pad * 2);
    content3.row();
    content3.add(glversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glversion).align(Align.left);
    content3.row();
    content3.add(glslversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glslversion).align(Align.left);
    content3.row();
    content3.add(glextensionstitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glextensionsscroll).align(Align.left);

    /** ADD ALL CONTENT **/
    content.addActor(content1);
    content.addActor(content2);
    content.addActor(content3);

    table.add(content).expand().fill();

    // Listen to changes in the tab button checked states
    // Set visibility of the tab content to match the checked state
    ChangeListener tab_listener = new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            content1.setVisible(tab1.isChecked());
            content2.setVisible(tab2.isChecked());
            content3.setVisible(tab3.isChecked());
        }
    };
    tab1.addListener(tab_listener);
    tab2.addListener(tab_listener);
    tab3.addListener(tab_listener);

    // Let only one tab button be checked at a time
    ButtonGroup tabs = new ButtonGroup();
    tabs.setMinCheckCount(1);
    tabs.setMaxCheckCount(1);
    tabs.add(tab1);
    tabs.add(tab2);
    tabs.add(tab3);

    /** BUTTONS **/
    HorizontalGroup buttonGroup = new HorizontalGroup();
    TextButton close = new OwnTextButton(txt("gui.close"), skin, "default");
    close.setName("close");
    close.setSize(70 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR);
    close.addListener(new EventListener() {
        @Override
        public boolean handle(Event event) {
            if (event instanceof ChangeEvent) {
                me.hide();
                return true;
            }

            return false;
        }

    });
    buttonGroup.addActor(close);

    add(table).pad(pad);
    row();
    add(buttonGroup).pad(pad).bottom().right();
    getTitleTable().align(Align.left);

    pack();

    this.setPosition(Math.round(stage.getWidth() / 2f - this.getWidth() / 2f),
            Math.round(stage.getHeight() / 2f - this.getHeight() / 2f));

    /** CAPTURE SCROLL FOCUS **/
    stage.addListener(new EventListener() {

        @Override
        public boolean handle(Event event) {
            if (event instanceof InputEvent) {
                InputEvent ie = (InputEvent) event;

                if (ie.getType() == Type.mouseMoved) {
                    for (OwnScrollPane scroll : scrolls) {
                        if (ie.getTarget().isDescendantOf(scroll)) {
                            stage.setScrollFocus(scroll);
                        }
                    }
                    return true;
                }
            }
            return false;
        }
    });

}