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

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

Introduction

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

Prototype

public SelectBox(SelectBoxStyle style) 

Source Link

Usage

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

License:Apache License

/**
 * Constructor/*  w  w  w.  jav a 2s.com*/
 * 
 * @param game Tower Awakening's Game
 * @param sound Main menu's music
 * @param effect Button's effect
 */
public Controls(TAGame game, Music sound, Sound effect) {
    this.game = game;
    this.sound = sound;
    this.effect = effect;
    stage = new Stage();

    ///Language
    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-4.png"));
    batch = new SpriteBatch();

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

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

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

    ///Langage Checkbox
    lblLangage = new Label(language.getString("label_language"), skin);
    String[] lang = { "English", "Francais", "Italiano" };
    slbLangages = new SelectBox<String>(skin);
    slbLangages.setItems(lang);

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

    ///Right Button
    lblRight = new Label(language.getString("label_right"), skin);
    btnRight = new TextButton(game.getRightKey(), skin);
    btnRight.setName("right");

    ///Left Button
    lblLeft = new Label(language.getString("label_left"), skin);
    btnLeft = new TextButton(game.getLeftKey(), skin);
    btnLeft.setName("left");

    ///Down Button
    lblDown = new Label(language.getString("label_down"), skin);
    btnDown = new TextButton(game.getDownKey(), skin);
    btnDown.setName("down");

    ///Up Button
    lblUp = new Label(language.getString("label_up"), skin);
    btnUp = new TextButton(game.getUpKey(), skin);
    btnUp.setName("up");

    ///Zoom In Button
    lblZoomIn = new Label(language.getString("label_zoom_in"), skin);
    btnZoomIn = new TextButton(game.getZoomInKey(), skin);
    btnZoomIn.setName("zoom+");

    ///Zoom Out Button
    lblZoomOut = new Label(language.getString("label_zoom_out"), skin);
    btnZoomOut = new TextButton(game.getZoomOutKey(), skin);
    btnZoomOut.setName("zoom-");

    Gdx.input.setInputProcessor(stage);
}

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

License:Apache License

/**
 * Constructor//from  w  w w . jav  a 2 s  .c  o  m
 * 
 * @param game Tower Awakening's Game
 * @param sound Main menu's music
 * @param effect Button's effect
 */
public Graphics(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.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-3.png"));
    batch = new SpriteBatch();

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

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

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

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

    ///CheckBox Fullscreen
    cbxFullscreen = new CheckBox(language.getString("label_fullscreen"), skin);

    ///SelectBox Resolution
    slbResolutions = new SelectBox<TAScreenSize>(skin);

    ///Label Resolution
    lblResolution = new Label(language.getString("label_resolution"), skin);
}

From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java

@Override
public void create() {
    // Initialize object
    batch = new SpriteBatch();
    camera = new OrthographicCamera();

    FileHandleResolver resolver = new InternalFileHandleResolver();
    assetManager = new AssetManager(resolver);
    assetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver));

    resolver = new AbsoluteFileHandleResolver();
    externalAssetManager = new AssetManager(resolver);
    externalAssetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver));

    assetManager.load("uiskin.json", Skin.class);
    assetManager.finishLoading();//from www  .  j a v  a 2  s. co m

    skin = assetManager.get("uiskin.json");

    // Create widgets
    stage = new Stage(new ScreenViewport(camera), batch);

    Label titleLabel = new Label("gdx-spriter", skin);
    titleLabel.setFontScale(3f);

    Label fpsLabel = new Label("FPS", skin) {
        @Override
        public void act(float delta) {
            this.setText(Gdx.graphics.getFramesPerSecond() + " FPS");
            super.act(delta);
        }
    };

    fileChooser = new SelectBox<SpriterDemoFileHandle>(skin);
    fileChooser.setName("Files");
    fileChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeSpriterFile(fileChooser.getSelected());
            lastUsedSelectBox = fileChooser;
        }
    });

    Button fileFinder = new TextButton("Browse", skin);
    fileFinder.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            FileDialog fileDialog = new FileDialog((java.awt.Frame) null, "Choose Spriter file",
                    FileDialog.LOAD);
            fileDialog.setDirectory(lastFolderBrowsed);
            fileDialog.setResizable(true);
            fileDialog.setVisible(true);
            String file = fileDialog.getFile();
            String directory = fileDialog.getDirectory();
            if (directory != null) {
                lastFolderBrowsed = directory;
            }
            if (file != null) {
                String path = directory + file;
                addFile(Gdx.files.absolute(path), externalAssetManager);
                fileChooser.setItems(files);
                fileChooser.setSelectedIndex(fileChooser.getItems().size - 1);
            }
        }
    });

    entityChooser = new SelectBox<SpriterAnimator>(skin);
    entityChooser.setName("Entities");
    entityChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeAnimator(entityChooser.getSelected());
            lastUsedSelectBox = entityChooser;
        }
    });

    animationChooser = new SelectBox<String>(skin);
    animationChooser.setName("Animations");
    animationChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeAnimation(animationChooser.getSelected());
            lastUsedSelectBox = animationChooser;
        }
    });

    final CheckBox transitionCheckbox = new CheckBox("Transition", skin);
    transitionCheckbox.setChecked(transition);
    transitionCheckbox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            transition = transitionCheckbox.isChecked();
        }
    });

    charmapChooser = new List<SpriterCharacterMap>(skin);
    ArraySelection<SpriterCharacterMap> selection = charmapChooser.getSelection();
    selection.setMultiple(true);
    selection.setRangeSelect(false);
    selection.setToggle(false);
    selection.setRequired(false);
    charmapChooser.setName("Charmaps");
    charmapChooser.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            changeCharacterMaps(charmapChooser.getSelection().items().orderedItems());
        }
    });

    angleSlider = new SpriterDemoAnimatorSlider(0, 360, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setRotation(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getRotation();
        }
    };

    pivotXSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setPivotX(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getPivotX();
        }
    };

    pivotYSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setPivotY(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getPivotY();
        }
    };

    scaleXSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setScaleX(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getScaleX();
        }
    };

    scaleYSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            spriterAnimator.setScaleY(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return spriterAnimator.getScaleY();
        }
    };

    alphaSlider = new SpriterDemoAnimatorSlider(0f, 1f, 0.01f, skin, "%.2f") {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setAlpha(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getAlpha();
        }
    };

    speedSlider = new SpriterDemoAnimatorSlider(0f, 10f, 0.1f, skin) {
        @Override
        public void setValue(SpriterAnimator animator, float value) {
            animator.setSpeed(value);
        }

        @Override
        protected float getValue(SpriterAnimator animator) {
            return animator.getSpeed();
        }
    };

    allAnimatorSliders = new SpriterDemoAnimatorSlider[] { scaleXSlider, scaleYSlider, pivotXSlider,
            pivotYSlider, angleSlider, alphaSlider, speedSlider };

    metaLabel = new Label("Meta: ", skin);
    metaLabel.setWrap(true);
    metaLabel.setAlignment(Align.topLeft);

    spriterPlaceholder = new Label("No animator", skin);
    spriterPlaceholder.setAlignment(Align.center);

    spriterAnimator = new SpriterAnimatorActor(animator);
    spriterAnimator.debug();

    playPauseButton = new ImageButton(skin, "play");
    playPauseButton.setChecked(true);
    playPauseButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            boolean playing = playPauseButton.isChecked();
            spriterAnimator.setDisabled(!playing);
        }
    });

    timeSlider = new Slider(0f, 2000f, 1, false, skin);
    timeSlider.addListener(timeSliderListener = new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (animator == null)
                return;
            animator.setTime(timeSlider.getValue());
            animator.update(0f);
        }
    });

    timeLabel = new Label("---", skin);

    // Put everything in place

    Table titleTable = new Table(skin);
    titleTable.add(titleLabel).pad(6f);
    titleTable.add().expandX();
    titleTable.add(fpsLabel).padRight(10f);

    Table selectionTable = new Table(skin);
    selectionTable.defaults().pad(3f);

    Table filesTable = new Table(skin);
    filesTable.row();
    filesTable.add(fileChooser).expand().fillX();
    filesTable.add(fileFinder).padLeft(2f).padRight(1f);

    Table animationsTable = new Table(skin);
    animationsTable.row();
    animationsTable.add(animationChooser).expand().fill();
    animationsTable.add(transitionCheckbox).fillX().padLeft(2f);

    ScrollPane scrollableCharmapChooser = new ScrollPane(charmapChooser);

    Table menuTable = new Table(skin);
    menuTable.defaults().pad(3f).expandX().fillX();
    menuTable.row();
    menuTable.add(titleTable).colspan(2);
    menuTable.row();
    menuTable.add("File");
    menuTable.add(filesTable).pad(4f);
    menuTable.row();
    menuTable.add("Entity");
    menuTable.add(entityChooser).pad(4f);
    menuTable.row();
    menuTable.add("Animation");
    menuTable.add(animationsTable).pad(4f);
    menuTable.row();
    menuTable.add("Maps");
    menuTable.add(scrollableCharmapChooser).pad(4f);
    menuTable.row();
    menuTable.add("Angle");
    menuTable.add(angleSlider);
    menuTable.row();
    menuTable.add("Pivot X");
    menuTable.add(pivotXSlider);
    menuTable.row();
    menuTable.add("Pivot Y");
    menuTable.add(pivotYSlider);
    menuTable.row();
    menuTable.add("Scale X");
    menuTable.add(scaleXSlider);
    menuTable.row();
    menuTable.add("Scale Y");
    menuTable.add(scaleYSlider);
    menuTable.row();
    menuTable.add("Alpha");
    menuTable.add(alphaSlider);
    menuTable.row();
    menuTable.add("Speed");
    menuTable.add(speedSlider);
    menuTable.row();
    menuTable.add().expandY();

    Table contentTable = new Table(skin);
    contentTable.row();
    contentTable.add(metaLabel).left().expandX().maxHeight(1f);
    contentTable.row();
    contentTable.stack(spriterPlaceholder, spriterAnimator).expand();

    Table timelineTable = new Table(skin);
    timelineTable.row();
    timelineTable.add("Timeline").expandX().align(Align.bottom);
    timelineTable.row();
    timelineTable.add(timeSlider).expandX().fillX();
    timelineTable.row();
    timelineTable.add(timeLabel).expandX().align(Align.top);

    Table controlTable = new Table(skin);
    controlTable.add(playPauseButton).space(5f).expandY().fillY();
    controlTable.add(timelineTable).expandX().fillX();

    rootTable = new Table(skin);
    rootTable.setFillParent(true);
    rootTable.row();
    rootTable.add(menuTable).expandY().fill();
    rootTable.add(contentTable).expand().fill();
    rootTable.row();
    rootTable.add(controlTable).colspan(2).expandX().fillX();

    stage.addActor(rootTable);

    // Bring input processing to the party

    InputProcessor globalInput = new InputProcessor() {
        @Override
        public boolean keyDown(int keycode) {
            switch (keycode) {
            case Keys.UP:
            case Keys.Z:
            case Keys.W:
                if (lastUsedSelectBox != null)
                    lastUsedSelectBox.setSelectedIndex(Math.max(lastUsedSelectBox.getSelectedIndex() - 1, 0));
                break;
            case Keys.DOWN:
            case Keys.S:
                if (lastUsedSelectBox != null)
                    lastUsedSelectBox.setSelectedIndex(Math.min(lastUsedSelectBox.getSelectedIndex() + 1,
                            lastUsedSelectBox.getItems().size - 1));
                break;

            default:
                break;
            }
            return true;
        }

        @Override
        public boolean keyUp(int keycode) {
            return false;
        }

        @Override
        public boolean keyTyped(char character) {
            return false;
        }

        @Override
        public boolean touchDown(int screenX, int screenY, int pointer, int button) {
            return false;
        }

        @Override
        public boolean touchUp(int screenX, int screenY, int pointer, int button) {
            return false;
        }

        @Override
        public boolean touchDragged(int screenX, int screenY, int pointer) {
            return false;
        }

        @Override
        public boolean mouseMoved(int screenX, int screenY) {
            return false;
        }

        @Override
        public boolean scrolled(int amount) {
            amount *= 0.05f; // Zoom coefficient
            scaleXSlider.setValue(scaleXSlider.getValue() + amount);
            scaleYSlider.setValue(scaleYSlider.getValue() + amount);
            return false;
        }
    };
    Gdx.input.setInputProcessor(new InputMultiplexer(stage, globalInput));

    // Add default test resources
    Array<String> testResources = new Array<String>(SpriterTestData.scml);
    testResources.addAll(SpriterTestData.scon);
    testResources.sort();
    for (String path : testResources)
        addFile(Gdx.files.internal(path.replaceFirst("/", "")), assetManager);

    // Also go discover some unknown exotic resources! (won't work in jar though)
    Array<FileHandle> spriterFiles = SpriterDemoUtils.findFiles(new String[] { "scml", "scon" });
    for (FileHandle f : spriterFiles)
        addFile(f, assetManager);

    fileChooser.setItems(files);

    lastUsedSelectBox = fileChooser;

    if (playPauseButton.isChecked())
        animator.play(animator.getAnimations().iterator().next());
}

From source file:com.bitfire.postprocessing.demo.ResourceFactory.java

License:Apache License

public static SelectBox<String> newSelectBox(String[] items, ChangeListener listener) {
    SelectBox<String> sb = new SelectBox<String>(UISkin);
    if (listener != null) {
        sb.addListener(listener);// w ww  .j  a v a  2  s . c  o m
    }

    sb.setItems(items);
    return sb;
}

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  ww.  j  a  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.AssetsList.java

License:Apache License

public AssetsList(Skin skin) {
    super(skin);/*w w w.jav  a  2s  . c o m*/

    assetTypes = new SelectBox<String>(skin);
    assetTypes.setItems(ASSET_TYPES);

    this.skin = skin;

    list = new CustomList<String>(skin);

    Array<String> items = new Array<String>();
    list.setItems(items);

    ScrollPane scrollPane = new ScrollPane(list, skin);
    container = new Container<ScrollPane>(scrollPane);
    container.fill();
    container.prefHeight(1000);

    toolbar = new EditToolbar(skin);
    //      debug();
    add(assetTypes).expandX().fillX();
    row();
    add(toolbar).expandX().fillX();
    row();
    add(container).expand().fill();

    toolbar.addCreateListener(new ChangeListener() {

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

    toolbar.addEditListener(new ChangeListener() {

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

    toolbar.addDeleteListener(new ChangeListener() {

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

    list.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            toolbar.disableEdit(false);
        }
    });

    Ctx.project.addPropertyChangeListener(Project.NOTIFY_PROJECT_LOADED, new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent arg0) {
            toolbar.disableCreate(Ctx.project.getProjectDir() == null);
            addAssets();
        }
    });

    assetTypes.addListener(new ChangeListener() {

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

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

License:Apache License

EnumOptionsInputPanel(Skin skin, String title, String desc, boolean mandatory, String defaultValue,
        Enum<?>[] options) {
    input = new SelectBox<>(skin);

    int l = options.length;
    if (!mandatory)
        l++;/*from  w w w .  j  av a  2  s  .  c  o  m*/
    Enum<?>[] values = new Enum[l];

    if (!mandatory) {
        values[0] = Empty.EMPTY;
    }

    System.arraycopy(options, 0, values, mandatory ? 0 : 1, options.length);

    input.setItems(values);

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

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

License:Apache License

OptionsInputPanel(Skin skin, String title, String desc, boolean mandatory, String defaultValue,
        String[] options) {//from   www.  j  a v a2  s.  co m
    input = new SelectBox<String>(skin);

    int l = options.length;
    if (!mandatory)
        l++;
    String values[] = new String[l];

    if (!mandatory) {
        values[0] = "";
    }

    for (int i = 0; i < options.length; i++) {
        if (mandatory)
            values[i] = options[i];
        else
            values[i + 1] = options[i];
    }

    if (options != null)
        input.setItems(values);

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

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 www.  ja  v a  2 s  . co 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());
                }
            }
        });
    }
}

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

License:Apache License

public void addProperty(String name, String selected, String[] value) {
    table.row();/* ww w. j a  v a 2  s  . c  o  m*/
    table.add(new Label(name, skin)).expandX().left();

    SelectBox<String> sb = new SelectBox<String>(skin);
    sb.setItems(value);
    if (selected != null)
        sb.setSelected(selected);
    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());
        }
    });
}