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

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

Introduction

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

Prototype

public Touchpad(float deadzoneRadius, Skin skin, String styleName) 

Source Link

Usage

From source file:org.shadebob.skineditor.actors.PreviewPane.java

License:Apache License

/**
 * /*from   w  ww. j a  v a2 s.  c  o m*/
 */
public void refresh() {

    Gdx.app.log("PreviewPane", "Refresh pane!");
    clear();

    ImageButton button = (ImageButton) game.screenMain.barWidgets.group.getChecked();
    String widget = button.getUserObject().toString();
    String widgetStyle = "com.badlogic.gdx.scenes.scene2d.ui." + widget + "$" + widget + "Style";

    try {
        Class<?> style = Class.forName(widgetStyle);

        ObjectMap<String, ?> styles = game.skinProject.getAll(style);
        if (styles == null) {
            Label label = new Label("No styles defined for this widget type", game.skin, "error");
            add(label).row().pad(10);

        } else {

            Keys<String> keys = styles.keys();
            Array<String> sortedKeys = new Array<String>();
            for (String key : keys) {
                sortedKeys.add(key);
            }
            sortedKeys.sort();

            for (String key : sortedKeys) {

                // We render one per key
                add(new Label(key, game.skin, "title")).left().pad(10).expandX().row();

                try {
                    if (widget.equals("Label")) {

                        Label w = new Label("This is a Label widget", game.skinProject, key);
                        add(w).pad(10).padBottom(20).row();

                    } else if (widget.equals("Button")) { // Button

                        Button w = new Button(game.skinProject, key);
                        add(w).width(120).height(32).pad(10).padBottom(20).row();

                    } else if (widget.equals("TextButton")) { // TextButton

                        TextButton w = new TextButton("This is a TextButton widget", game.skinProject, key);

                        add(w).pad(10).padBottom(20).row();

                    } else if (widget.equals("ImageButton")) { // ImageButton

                        ImageButton w = new ImageButton(game.skinProject, key);
                        add(w).pad(10).padBottom(20).row();

                    } else if (widget.equals("CheckBox")) { // CheckBox

                        CheckBox w = new CheckBox("This is a CheckBox widget", game.skinProject, key);
                        w.setChecked(true);
                        add(w).pad(10).padBottom(20).row();

                    } else if (widget.equals("TextField")) { // TextField

                        TextField w = new TextField("This is a TextField widget", game.skinProject, key);
                        if (w.getStyle().fontColor == null) {
                            throw new Exception("Textfield style requires a font color!");
                        }

                        w.addListener(stopTouchDown);

                        add(w).pad(10).width(220).padBottom(20).row();

                    } else if (widget.equals("List")) { // List

                        List w = new List(game.skinProject, key);
                        Array<String> items = new Array<String>();
                        items.add("This is");
                        items.add("a");
                        items.add("List widget!");
                        w.setItems(items);

                        add(w).pad(10).width(220).height(120).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("SelectBox")) { // SelectBox
                        SelectBox<String> w = new SelectBox<String>(game.skinProject, key);
                        Array<String> items = new Array<String>();
                        items.add("This is");
                        items.add("a");
                        items.add("SelectBox widget!");
                        w.setItems(items);

                        add(w).pad(10).width(220).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("ProgressBar")) { // ProgressBar

                        ProgressBar w = new ProgressBar(0, 100, 5, false, game.skinProject, key);
                        w.setValue(50);
                        w.addListener(stopTouchDown);

                        add(w).pad(10).width(220).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("Slider")) { // Slider

                        Slider w = new Slider(0, 100, 5, false, game.skinProject, key);
                        add(w).pad(10).width(220).padBottom(20).expandX().fillX().row();
                        w.addListener(stopTouchDown);

                        Slider w2 = new Slider(0, 100, 5, true, game.skinProject, key);
                        add(w2).pad(10).padBottom(20).expandX().fillX().row();
                        w2.addListener(stopTouchDown);

                    } else if (widget.equals("ScrollPane")) { // ScrollPane

                        Table t = new Table(game.skin);
                        for (int i = 0; i < 20; i++) {
                            t.add("This is a ScrollPane Widget").padRight(10);
                            t.add("This is a ScrollPane Widget").padRight(10);
                            t.add("This is a ScrollPane Widget").row();
                        }
                        ScrollPane w = new ScrollPane(t, game.skinProject, key);
                        w.addListener(stopTouchDown);
                        w.setFlickScroll(true);
                        w.setScrollbarsOnTop(true);
                        w.setScrollBarPositions(true, true);
                        w.setFadeScrollBars(false);
                        add(w).pad(10).width(420).height(240).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("SplitPane")) { // SplitPane

                        for (int j = 0; j < 2; j++) {
                            Table t = new Table(game.skin);
                            t.setBackground(game.skin.getDrawable("default-rect"));
                            Table t2 = new Table(game.skin);
                            t2.setBackground(game.skin.getDrawable("default-rect"));
                            for (int i = 0; i < 20; i++) {
                                t.add("This is a SplitPane Widget").pad(10).row();
                                t2.add("This is a SplitPane Widget").pad(10).row();
                            }

                            SplitPane w = new SplitPane(t, t2, (j % 2 == 0), game.skinProject, key);
                            w.addListener(stopTouchDown);
                            add(w).pad(10).width(220).height(160).padBottom(20).expandX().fillX();
                        }
                        row();

                    } else if (widget.equals("Window")) { // Window

                        Table t = new Table(game.skin);
                        for (int i = 0; i < 5; i++) {
                            t.add("This is a Window Widget").row();
                        }
                        Window w = new Window("This is a Window Widget", game.skinProject, key);
                        w.addListener(stopTouchDown);
                        w.add(t);
                        add(w).pad(10).width(420).height(240).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("Touchpad")) { // Touchpad

                        Touchpad w = new Touchpad(0, game.skinProject, key);
                        w.addListener(stopTouchDown);

                        add(w).pad(10).width(200).height(200).padBottom(20).expandX().fillX().row();

                    } else if (widget.equals("Tree")) { // Tree

                        Tree w = new Tree(game.skinProject, key);
                        Tree.Node node = new Tree.Node(new Label("This", game.skin));
                        Tree.Node node1 = new Tree.Node(new Label("is", game.skin));
                        Tree.Node node2 = new Tree.Node(new Label("a", game.skin));
                        Tree.Node node3 = new Tree.Node(new Label("Tree", game.skin));
                        Tree.Node node4 = new Tree.Node(new Label("Widget", game.skin));
                        node3.add(node4);
                        node2.add(node3);
                        node1.add(node2);
                        node.add(node1);
                        w.add(node);

                        w.expandAll();
                        add(w).pad(10).width(200).height(200).padBottom(20).expandX().fillX().row();
                    } else {
                        add(new Label("Unknown widget type!", game.skin, "error")).pad(10).padBottom(20).row();
                    }
                } catch (Exception e) {
                    add(new Label("Please fill all required fields", game.skin, "error")).pad(10).padBottom(20)
                            .row();
                }
            }

        }

    } catch (Exception e) {
        e.printStackTrace();
    }

}