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

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

Introduction

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

Prototype

public TextField(String text, TextFieldStyle style) 

Source Link

Usage

From source file:ateamproject.kezuino.com.github.render.screens.LoginScreen.java

public LoginScreen(Game game) {
    super(game);/*  w w  w. j a  v a  2 s.  c  o m*/

    TextField txtUsername = new TextField("pactales1@gmail.com", skin);

    TextField txtPassword = new TextField("pactales!", skin);
    txtPassword.setPasswordCharacter('*');
    txtPassword.setPasswordMode(true);

    TextButton btnLogin = new TextButton("Inloggen", skin);

    btnLogin.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            btnLogin.setTouchable(Touchable.disabled);
            btnLogin.setText("Laden");
            Thread loginThread = new Thread(() -> {
                PacketLoginAuthenticate packet = new PacketLoginAuthenticate(txtUsername.getText(),
                        txtPassword.getText(), null);
                Client.getInstance().send(packet);

                Gdx.app.postRunnable(() -> {
                    // Login was successful..
                    if (Client.getInstance().getId() != null) {
                        PacketLoginUserExists packetUserExists = new PacketLoginUserExists(
                                txtUsername.getText(), null);
                        Client.getInstance().send(packetUserExists);

                        // Handle user doesn't exist.
                        if (!packetUserExists.getResult()) {
                            Dialog d = new Dialog("Geen gebruiker gevonden", skin);
                            d.add("Gebruikersnaam:");
                            TextField f = new TextField("", skin);
                            d.add(f);
                            bExit = new TextButton("Oke", skin);
                            bExit.addListener(new ClickListener() {
                                @Override
                                public void clicked(InputEvent event, float x, float y) {
                                    if (!f.getText().isEmpty()) {
                                        PacketLoginCreateNewUser packet1;
                                        packet1 = new PacketLoginCreateNewUser(f.getText(),
                                                txtUsername.getText());
                                        Client.getInstance().send(packet1);
                                        if (!packet1.getResult()) {
                                            new Dialog("Error", skin) {
                                                {
                                                    text("De naam bestaat al.");
                                                    button("Oke");
                                                }
                                            }.show(stage);
                                        } else {
                                            d.hide();
                                            Client.getInstance().setUsername(f.getText());
                                            game.setScreen(new MainScreen(game));
                                        }
                                    }
                                }
                            });
                            d.add(bExit);
                            d.show(stage);
                        } else {
                            game.setScreen(new MainScreen(game));
                        }
                    } else {
                        new Dialog("Error", skin) {
                            {
                                text(packet.getResult().getMessage());
                                button("Oke");
                            }
                        }.show(stage);
                    }
                    btnLogin.setText("Inloggen");
                    btnLogin.setTouchable(Touchable.enabled);//enable button touch
                });
            });
            loginThread.start();
        }
    });

    txtUsername.setSize(300, 40);
    txtPassword.setSize(300, 40);
    txtPassword.setPasswordMode(true);
    btnLogin.setSize(300, 40);

    btnLogin.setPosition(stage.getWidth() / 2 - btnLogin.getWidth() / 2, 150);
    txtUsername.setPosition(stage.getWidth() / 2 - txtUsername.getWidth() / 2, 300);
    txtPassword.setPosition(stage.getWidth() / 2 - txtPassword.getWidth() / 2, 250);

    stage.addActor(btnLogin);
    stage.addActor(txtUsername);
    stage.addActor(txtPassword);

    backgroundMusic = Assets.getMusicStream("menu.mp3");
}

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

License:Apache License

/**
 * Constructor/*  www  .  j a  va  2  s  . c  om*/
 * 
 * @param game Tower Awakening's Game
 * @param sound Main menu's music
 * @param effect Button's effect
 */
public Multiplayer(TAGame game, Music sound, Sound effect) {
    this.game = game;
    this.sound = sound;
    this.effect = effect;
    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("button_multiplayer"), skin);

    ///Widgets Background
    widgetsBackground = new Image(new Texture(Gdx.files.internal("img/widget/window_large.png")));

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

    ///Server List
    btnJoin = new TextButton(language.getString("button_join"), skin);
    btnCreate = new TextButton(language.getString("button_create"), skin);

    ///Port TextField
    tfdPort = new TextField("", skin);

    ///Port TextField
    tfdIp = new TextField("", skin);

}

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

License:Apache License

/**
 * Constructor//  w ww.j a  va 2s.  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.WaitingRoomServer.java

License:Apache License

/**
 * Constructor/*w  w  w. j av a2s .c om*/
 * 
 * @param game Tower Awakening's Game
 * @param sound Main menu's music
 * @param effect Button's effect
 */
public WaitingRoomServer(TAGame game, Music sound, Sound effect) {
    this.game = game;
    this.sound = sound;
    this.effect = effect;

    try {
        serverSocket = new ServerSocket(portEcoute);
    } catch (IOException e) {
        System.err.println("Creation de la socket impossible : " + e);
        System.exit(-1);
    }

    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);

    ///Start Button
    btnStart = new TextButton(language.getString("button_start"), skin);

}

From source file:ca.hiphiparray.amazingmaze.ContinueScreen.java

License:Open Source License

/**
 * Displays the high score dialog./*from www.j  a  v a 2  s.  c o  m*/
 */
public void highScoreDialog() {
    Label.LabelStyle labelStyle = new Label.LabelStyle(
            game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE);
    final Dialog dialog = new Dialog("High Score", game.assets.skin);
    final TextButton okButton = new TextButton("OK", game.assets.skin);
    dialog.getButtonTable().bottom();
    Label label = new Label("Enter your name:", labelStyle);
    label.setScale(.5f);
    label.setWrap(true);
    label.setAlignment(Align.center);
    final TextField nameField = new TextField("", game.assets.skin);
    dialog.add(label).width(500).pad(50);
    dialog.add(nameField);
    dialog.add(okButton).bottom();
    nameField.setTextFieldListener(new TextFieldListener() {
        @Override
        public void keyTyped(TextField textField, char key) {
            name = formatString(nameField.getText());
            if (!name.equals("")) {
                if (key == (char) 13) {
                    displayHighScores(name);
                }
            }
        }
    });
    okButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            name = formatString(nameField.getText());
            if (!name.equals("")) {
                if (okButton.isPressed()) {
                    dialog.hide();
                    displayHighScores(name);
                }
            }
        }
    });
    dialog.addListener(new InputListener() {
        @Override
        public boolean keyDown(InputEvent event, int keycode) {
            name = formatString(nameField.getText());
            if (!name.equals("")) {
                if (keycode == Keys.ENTER) {
                    displayHighScores(name);
                    return true;
                }
            }
            return false;
        }
    });
    dialog.show(stage);
}

From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java

License:Open Source License

/**
 * Constructor for FishMiniGame./*ww  w .j  av  a 2  s.c  om*/
 *
 * @param game the {@link AmazingMazeGame} instance that is managing this screen.
 * @param player the {@link Player} instance that completed the last level.
 */
public FishMiniGame(final AmazingMazeGame game, Player player) {
    this.game = game;
    this.player = player;
    fishNumber = new int[5];

    fishNumber[0] = this.player.blueCollected;
    fishNumber[1] = this.player.purpleCollected;
    fishNumber[2] = this.player.greenCollected;
    fishNumber[3] = this.player.redCollected;
    fishNumber[4] = this.player.orangeCollected;

    answer = 0;
    for (int i = 0; i < fishNumber.length; i++) {
        answer += fishNumber[i] * fishValue[i];
    }

    stage = new Stage(new ScreenViewport(), this.game.batch);

    menuTable = new Table();
    fishTable = new Table();

    canvas = new Canvas(
            new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight() + shift, Pixmap.Format.RGB565));

    menuTable.setFillParent(true);
    menuTable.top();
    fishTable.bottom();
    fishTable.setFillParent(true);

    fishImage = new Image[5];

    TextureAtlas atlas = this.game.assets.manager.get(Assets.GAME_ATLAS_LOCATION, TextureAtlas.class);
    fishImage[0] = new Image(atlas.findRegion(Assets.FISH + Assets.BLUE_MODIFIER));
    fishImage[0].setScale(4f);
    fishImage[1] = new Image(atlas.findRegion(Assets.FISH + Assets.PURPLE_MODIFIER));
    fishImage[1].setScale(4f);
    fishImage[2] = new Image(atlas.findRegion(Assets.FISH + Assets.GREEN_MODIFIER));
    fishImage[2].setScale(4f);
    fishImage[3] = new Image(atlas.findRegion(Assets.FISH + Assets.RED_MODIFIER));
    fishImage[3].setScale(4f);
    fishImage[4] = new Image(atlas.findRegion(Assets.FISH + Assets.ORANGE_MODIFIER));
    fishImage[4].setScale(4f);

    pencilButton = new Button(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.PENCIL_BUTTON, Texture.class))));
    pencilButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (pencilButton.isPressed()) {
                canvas.setColor(drawColor);
            }
        }
    });

    eraserButton = new Button(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.ERASER_BUTTON, Texture.class))));
    eraserButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (eraserButton.isPressed()) {
                canvas.setColor(clearColor);
            }
        }
    });

    helpButton = new Button(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.HELP_BUTTON, Texture.class))));
    helpButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (helpButton.isPressed()) {
                Label.LabelStyle labelStyle = new Label.LabelStyle(
                        game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE);
                final Dialog dialog = new Dialog("Help", game.assets.skin);
                final TextButton okButton = new TextButton("OK", game.assets.skin);
                dialog.getButtonTable().bottom();
                Label label = new Label("Find the total value of fish that you retrieved!\n"
                        + "Each colour corresponds to the colour of Canadian money.\n"
                        + "The numbers correspond to each number of fish you got.\n\n"
                        + "In case you forgot: blue is 5, purple is 10, green is 20, red is 50, and orange is 100.",
                        labelStyle);
                label.setScale(.5f);
                label.setWrap(true);
                label.setAlignment(Align.center);
                dialog.add(label).width(500).pad(50);
                dialog.add(okButton).bottom();
                okButton.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeEvent event, Actor actor) {
                        if (okButton.isPressed()) {
                            dialog.hide();
                            canvas.setColor(drawColor);
                        }
                    }
                });
                dialog.key(Keys.ENTER, true);
                dialog.show(stage);
            }
        }
    });

    checkButton = new Button(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.CHECK_BUTTON, Texture.class))));
    checkButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            dialog();
        }
    });

    clearButton = new Button(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.CLEAR_BUTTON, Texture.class))));
    clearButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (clearButton.isPressed()) {
                canvas.clear();
                canvas.setColor(drawColor);
            }
        }
    });

    answerField = new TextField("", game.assets.skin);
    answerField.setTextFieldListener(new TextFieldListener() {
        @Override
        public void keyTyped(TextField textField, char key) {
            if (key == (char) 13) {
                stage.unfocus(answerField);
                dialog();
            }
        }
    });
    stage.addActor(menuTable);
    stage.addActor(canvas);
    stage.addActor(fishTable);

    menuTable.clear();
    fishTable.clear();
    helpButton.right();
    menuTable.background(new TextureRegionDrawable(
            new TextureRegion(this.game.assets.manager.get(Assets.MINI_BACKGROUND, Texture.class))));
    menuTable.add(pencilButton).pad(10).size(64);
    menuTable.add(eraserButton).pad(10).size(64);
    menuTable.add(clearButton).pad(10).size(64);
    menuTable.add(helpButton).pad(10).size(64);

    menuTable.row();

    Label.LabelStyle labelStyle = new Label.LabelStyle(
            game.assets.getFont(Assets.SANS_REGULAR, Assets.REGULAR_FONT_SIZE), Color.WHITE);

    for (int i = 0; i < 5; i++) {
        fishTable.add(fishImage[i]).bottom().left().padLeft(10);
    }
    fishTable.add(answerField).minWidth(150).padLeft(150);
    fishTable.add(checkButton).pad(10).size(64);
    fishTable.row();

    for (int i = 0; i < 5; i++) {
        fishTable.add(new Label(fishNumber[i] + "", labelStyle)).pad(30).center();
    }
    fishTable.row();

    setupPauseMenu();
    input = new InputMultiplexer(stage, this);
    input.addProcessor(pauseMenu);
}

From source file:com.bladecoder.engine.ui.DebugScreen.java

License:Apache License

@Override
public void show() {
    float size = DPIUtils.getPrefButtonSize();
    float margin = DPIUtils.getMarginSize();

    stage = new Stage(new ScreenViewport());

    table = new Table(ui.getSkin());
    table.setFillParent(true);//  w  w  w .  ja  va2s  .c  om
    table.left().top();
    table.pad(margin);

    table.addListener(new InputListener() {
        @Override
        public boolean keyUp(InputEvent event, int keycode) {
            if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK)
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            return true;
        }
    });

    stage.setKeyboardFocus(table);

    Button back = new Button(ui.getSkin(), "back");

    back.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    Label title = new Label("DEBUG SCREEN", ui.getSkin(), "title");

    Table header = new Table();
    header.padBottom(margin);
    Container<Button> cont = new Container<Button>(back);
    cont.size(size);
    header.add(cont);
    header.add(title).fillX().expandX().left();
    table.add(header).colspan(3).fillX().expandX().left();

    // ------------- SPEED
    speedText = new TextField(Float.toString(((SceneScreen) ui.getScreen(Screens.SCENE_SCREEN)).getSpeed()),
            ui.getSkin());
    TextButton speedButton = new TextButton("Set Speed", ui.getSkin());
    speedButton.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            SceneScreen scnScr = (SceneScreen) ui.getScreen(Screens.SCENE_SCREEN);
            scnScr.setSpeed(Float.parseFloat(speedText.getText()));
        }
    });

    speedButton.pad(2, 3, 2, 3);
    HorizontalGroup sGroup = new HorizontalGroup();
    sGroup.space(10);
    sGroup.addActor(speedText);
    sGroup.addActor(speedButton);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Game Speed: ", ui.getSkin(), "debug"));
    table.add(sGroup);

    // ------------- RECORDING

    final Recorder r = ui.getRecorder();
    TextButton play = new TextButton(r.isPlaying() ? "Stop" : "Play", ui.getSkin());
    rec = new TextButton(r.isRecording() ? "Stop Rec" : "Rec", ui.getSkin());
    play.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final Recorder r = ui.getRecorder();

            if (!r.isPlaying()) {
                r.setFilename(recordings.getSelected());
                r.load();
                r.setPlaying(true);
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            } else {
                r.setPlaying(false);
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            }
        }
    });

    rec.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final Recorder r = ui.getRecorder();

            if (r.isPlaying()) {
                r.setPlaying(false);
            }

            if (!r.isRecording())
                r.setFilename(recFilename.getText());

            r.setRecording(!r.isRecording());
            rec.setText(r.isRecording() ? "Stop Rec" : "Rec");

            if (r.isRecording())
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    recordings = new SelectBox<String>(ui.getSkin());

    String[] testFiles = EngineAssetManager.getInstance().listAssetFiles("/tests");
    ArrayList<String> al = new ArrayList<String>();

    for (String file : testFiles)
        if (file.endsWith(Recorder.RECORD_EXT))
            al.add(file.substring(0, file.indexOf(Recorder.RECORD_EXT)));

    FileHandle[] testFiles2 = EngineAssetManager.getInstance().getUserFolder().list();

    for (FileHandle file : testFiles2)
        if (file.name().endsWith(Recorder.RECORD_EXT))
            al.add(file.name().substring(0, file.name().indexOf(Recorder.RECORD_EXT)));

    recordings.setItems(al.toArray(new String[al.size()]));

    play.pad(2, 3, 2, 3);
    rec.pad(2, 3, 2, 3);

    recFilename = new TextField(r.getFileName(), ui.getSkin());

    HorizontalGroup rGroup = new HorizontalGroup();
    rGroup.space(10);
    rGroup.addActor(recordings);
    rGroup.addActor(play);
    rGroup.addActor(new Label("Rec. Filename", ui.getSkin(), "debug"));
    rGroup.addActor(recFilename);
    rGroup.addActor(rec);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Game Recording: ", ui.getSkin(), "debug"));
    table.add(rGroup);

    // ------------- SCENES
    TextButton go = new TextButton("Go", ui.getSkin());
    go.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            World.getInstance().resume();
            World.getInstance().setCutMode(false);
            World.getInstance().setCurrentScene(scenes.getSelected());
            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    go.pad(2, 3, 2, 3);

    scenes = new SelectBox<String>(ui.getSkin());
    scenes.setItems(World.getInstance().getScenes().keySet()
            .toArray(new String[World.getInstance().getScenes().size()]));

    HorizontalGroup scGroup = new HorizontalGroup();
    scGroup.space(10);
    scGroup.addActor(scenes);
    scGroup.addActor(go);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Go to Scene: ", ui.getSkin(), "debug"));
    table.add(scGroup);

    // ------------- TESTERBOT
    final TesterBot bot = ui.getTesterBot();

    TextButton runBot = new TextButton(bot.isEnabled() ? "Stop" : "Run", ui.getSkin());
    runBot.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setMaxWaitInverval(Float.parseFloat(testerTimeConf.getText()));
            bot.setInSceneTime(Float.parseFloat(inSceneTimeConf.getText()));
            bot.setExcludeList(testerExcludeList.getText());
            bot.setEnabled(!bot.isEnabled());

            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    runBot.pad(2, 3, 2, 3);

    testerTimeConf = new TextField(Float.toString(bot.getMaxWaitInverval()), ui.getSkin());
    inSceneTimeConf = new TextField(Float.toString(bot.getInSceneTime()), ui.getSkin());
    testerExcludeList = new TextField(bot.getExcludeList(), ui.getSkin());

    TextButton testerLeaveConf = new TextButton("Leave", ui.getSkin(), "toggle");
    testerLeaveConf.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setRunLeaveVerbs(!bot.isRunLeaveVerbs());
        }
    });

    testerLeaveConf.setChecked(bot.isRunLeaveVerbs());

    TextButton testerGotoConf = new TextButton("Goto", ui.getSkin(), "toggle");
    testerGotoConf.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setRunGoto(!bot.isRunGoto());
        }
    });

    testerGotoConf.setChecked(bot.isRunGoto());

    TextButton testerPassText = new TextButton("Pass Texts", ui.getSkin(), "toggle");
    testerPassText.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setPassTexts(!bot.isPassTexts());
        }
    });

    testerPassText.setChecked(bot.isPassTexts());

    TextButton testerWaitWhenWalking = new TextButton("Wait When Walking", ui.getSkin(), "toggle");
    testerWaitWhenWalking.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setWaitWhenWalking(!bot.isWaitWhenWalking());
        }
    });

    testerWaitWhenWalking.setChecked(bot.isWaitWhenWalking());

    HorizontalGroup botGroup = new HorizontalGroup();
    botGroup.space(10);

    botGroup.addActor(testerLeaveConf);
    botGroup.addActor(testerGotoConf);
    botGroup.addActor(testerPassText);
    botGroup.addActor(testerWaitWhenWalking);

    HorizontalGroup botGroup2 = new HorizontalGroup();
    botGroup2.space(10);

    botGroup2.addActor(new Label("Excl. List: ", ui.getSkin(), "debug"));
    botGroup2.addActor(testerExcludeList);
    botGroup2.addActor(new Label("Interval: ", ui.getSkin(), "debug"));
    botGroup2.addActor(testerTimeConf);
    botGroup2.addActor(new Label("Scn Time: ", ui.getSkin(), "debug"));
    botGroup2.addActor(inSceneTimeConf);
    botGroup2.addActor(runBot);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Tester Bot: ", ui.getSkin(), "debug"));
    table.add(botGroup);
    table.row().pad(5).align(Align.left);
    table.add();
    table.add(botGroup2);

    // ------------- VERSION LABEL NOT IN TABLE
    String versionString = Config.getProperty(Config.TITLE_PROP, "title unspecified") + " v"
            + Config.getProperty(Config.VERSION_PROP, "unspecified") + "\n" + "Blade Engine: v"
            + Config.getProperty("bladeEngineVersion", "unspecified") + "\n" + "libGdx: v"
            + Config.getProperty("gdxVersion", "unspecified") + "\n" + "RoboVM: v"
            + Config.getProperty("roboVMVersion", "unspecified") + "\n";
    //             + "Gdx.app.getVersion: " + Gdx.app.getVersion();

    Label version = new Label(versionString, ui.getSkin(), "debug");
    version.setColor(Color.LIGHT_GRAY);
    Table versionStack = new Table();
    versionStack.defaults().pad(DPIUtils.getSpacing());
    versionStack.pad(0);
    versionStack.add(version);
    versionStack.bottom().left();
    versionStack.setFillParent(true);
    versionStack.pack();
    table.row();
    table.add(versionStack).colspan(3).left();

    table.pack();

    ScrollPane scrollPane = new ScrollPane(table);
    scrollPane.setFillParent(true);
    stage.addActor(scrollPane);

    pointer = new Pointer(ui.getSkin());
    stage.addActor(pointer);

    Gdx.input.setInputProcessor(stage);
}

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

License:Apache License

DimensionInputPanel(Skin skin, String title, String desc, boolean mandatory, String defaultValue) {
    dimPanel = new Table(skin);
    width = new TextField("", skin);
    height = new TextField("", skin);

    dimPanel.add(new Label(" width ", skin));
    dimPanel.add(width);//from  w  ww.ja v  a2  s  .c  o m
    dimPanel.add(new Label("  height ", skin));
    dimPanel.add(height);

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

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

License:Apache License

public EditableSelectBox(Skin skin) {
    super(skin);//from www  .  j  a  va 2  s  .  c o  m

    input = new TextField("", skin);
    showListButton = new TextButton(">", skin);
    selectList = new SelectList<>(skin, input);

    add(input);
    add(showListButton);

    addListener(clickListener = new ClickListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            if (pointer == 0 && button != 0)
                return false;
            if (disabled)
                return false;
            if (selectList.hasParent())
                hideList();
            else
                showList();
            return true;
        }
    });

    //      selectList.getList().addListener(new ChangeListener() {
    //         @Override
    //         public void changed(ChangeEvent event, Actor actor) {
    //               fire(event);            
    //         }
    //      });

    input.setProgrammaticChangeEvents(true);
    input.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            fire(event);
        }
    });
}

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

License:Apache License

public void addProperty(String name, String value, Types type) {

    table.row();//from w  ww. j av a  2  s .  c  o m
    table.add(new Label(name, skin)).expandX().left();

    if (type == Types.BOOLEAN) {
        SelectBox<String> sb = new SelectBox<String>(skin);
        sb.setItems(BOOLEAN_VALUES);
        if (value != null)
            sb.setSelected(value);
        sb.setName(name);
        table.add(sb).expandX().left();

        sb.addListener(new ChangeListener() {

            @SuppressWarnings("unchecked")
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                updateModel(actor.getName(), ((SelectBox<String>) actor).getSelected());

            }
        });
    } else {
        TextField tf = new TextField(value == null ? "" : value, skin);
        tf.setName(name);
        table.add(tf).expandX().left();

        if (type == Types.INTEGER)
            tf.setTextFieldFilter(new TextField.TextFieldFilter.DigitsOnlyFilter());

        tf.setTextFieldListener(new TextFieldListener() {
            @Override
            public void keyTyped(TextField actor, char c) {
                if (c == 13) { // ENTER KEY
                    updateModel(actor.getName(), ((TextField) actor).getText());
                    EditorLogger.debug("Updating property: " + actor.getName());
                }
            }
        });

        tf.addListener(new FocusListener() {

            @Override
            public void keyboardFocusChanged(FocusEvent event, Actor actor, boolean focused) {
                if (!focused) {
                    updateModel(actor.getName(), ((TextField) actor).getText());
                    EditorLogger.debug("Updating property: " + actor.getName());
                }
            }
        });
    }
}