Example usage for com.badlogic.gdx.scenes.scene2d.ui Table defaults

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

Introduction

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

Prototype

public Cell defaults() 

Source Link

Document

The cell values that will be used as the defaults for all cells.

Usage

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();//w  ww  . j av a2 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.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);//from   www.j  av a  2s.co m
    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.engine.ui.LoadSaveScreen.java

License:Apache License

@Override
public void show() {
    float size = DPIUtils.getPrefButtonSize();
    float pad = DPIUtils.getMarginSize();
    final Skin skin = ui.getSkin();
    final World world = World.getInstance();

    // loadScreenMode = ui.getScreen(Screens.LOAD_GAME_SCREEN) == this;
    loadScreenMode = world.getCurrentScene() == null;

    stage = new Stage(new ScreenViewport());

    slotWidth = (int) (stage.getViewport().getWorldWidth() / (ROW_SLOTS + 1) - 2 * pad);
    slotHeight = (int) (slotWidth * stage.getViewport().getScreenHeight()
            / stage.getViewport().getScreenWidth());

    LoadSaveScreenStyle style = skin.get(LoadSaveScreenStyle.class);

    Drawable bg = style.background;//from  w w w .ja  v a  2s.  c o m

    if (bg == null && style.bgFile != null) {
        bgTexFile = new Texture(EngineAssetManager.getInstance().getResAsset(style.bgFile));
        bgTexFile.setFilter(TextureFilter.Linear, TextureFilter.Linear);

        bg = new TextureRegionDrawable(new TextureRegion(bgTexFile));
    }

    Table table = new Table(skin);
    table.setFillParent(true);
    table.center();
    table.pad(pad);

    Label title = new Label(loadScreenMode ? I18N.getString("ui.load") : I18N.getString("ui.save"), skin,
            "title");

    Button back = new Button(skin, "back");

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

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

    if (bg != null)
        table.setBackground(bg);

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

            return true;
        }
    });

    final PagedScrollPane scroll = new PagedScrollPane();
    scroll.setFlingTime(0.1f);
    scroll.setPageSpacing(25);

    Table slots = new Table().pad(pad);
    slots.defaults().pad(pad).size(slotWidth + pad, slotHeight + pad * 2).top();
    int c = 0;

    // Add "new slot" slot for save screen
    if (!loadScreenMode) {
        slots.add(getSlotButton(Long.toString(new Date().getTime()))).fill().expand();
        c++;
    }

    final List<String> sl = getSlots();

    Collections.sort(sl);

    for (int j = sl.size() - 1; j >= 0; j--) {

        String s = sl.get(j);

        if (c % ROW_SLOTS == 0 && c % (ROW_SLOTS * COL_SLOTS) != 0)
            slots.row();

        if (c != 0 && c % (ROW_SLOTS * COL_SLOTS) == 0) {
            scroll.addPage(slots);
            slots = new Table().pad(pad);
            slots.defaults().pad(pad).size(slotWidth + pad, slotHeight + pad * 2).top();
        }

        Button removeButton = new Button(skin, "delete_game");
        removeButton.setName(s);
        removeButton.addListener(removeClickListener);

        Container<Button> container = new Container<Button>(removeButton);
        container.size(DPIUtils.getPrefButtonSize() * .75f);
        container.align(Align.topRight);

        slots.stack(getSlotButton(s), container).fill().expand();

        c++;
    }

    // Add last page
    if (slots.getCells().size > 0)
        scroll.addPage(slots);

    table.row();

    if (loadScreenMode && sl.size() == 0) {
        Label lbl = new Label(I18N.getString("ui.noSavedGames"), skin, "title");
        lbl.setAlignment(Align.center);
        table.add(lbl).expand().fill();
    } else {
        table.add(scroll).expand().fill();
    }

    table.pack();

    stage.setKeyboardFocus(table);
    stage.addActor(table);

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

    Gdx.input.setInputProcessor(stage);
}

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

License:Apache License

@Override
public void show() {
    stage = new Stage(new ScreenViewport());

    final Skin skin = ui.getSkin();
    final World world = World.getInstance();

    final MenuScreenStyle style = skin.get(MenuScreenStyle.class);
    final BitmapFont f = skin.get(style.textButtonStyle, TextButtonStyle.class).font;
    float buttonWidth = f.getCapHeight() * 15f;

    // Image background = new Image(style.background);
    Drawable bg = style.background;/*from  www .  java  2  s  . com*/

    if (bg == null && style.bgFile != null) {
        bgTexFile = new Texture(EngineAssetManager.getInstance().getResAsset(style.bgFile));
        bgTexFile.setFilter(TextureFilter.Linear, TextureFilter.Linear);

        bg = new TextureRegionDrawable(new TextureRegion(bgTexFile));
    }

    final Table table = new Table();
    table.setFillParent(true);
    table.center();

    if (bg != null)
        table.setBackground(bg);

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

            return true;
        }
    });

    table.defaults().pad(BUTTON_PADDING).width(buttonWidth);

    stage.setKeyboardFocus(table);

    if (style.showTitle) {

        Label title = new Label(Config.getProperty(Config.TITLE_PROP, "Adventure Blade Engine"), skin,
                style.titleStyle);

        title.setAlignment(Align.center);

        table.add(title).padBottom(DPIUtils.getMarginSize() * 2);
        table.row();
    }

    if (world.savedGameExists() || world.getCurrentScene() != null) {
        TextButton continueGame = new TextButton(I18N.getString("ui.continue"), skin, style.textButtonStyle);

        continueGame.addListener(new ClickListener() {
            public void clicked(InputEvent event, float x, float y) {
                if (world.getCurrentScene() == null)
                    try {
                        world.load();
                    } catch (Exception e) {
                        Gdx.app.exit();
                    }

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

        table.add(continueGame);
    }

    TextButton newGame = new TextButton(I18N.getString("ui.new"), skin, style.textButtonStyle);
    newGame.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            if (world.savedGameExists()) {
                Dialog d = new Dialog("", skin) {
                    protected void result(Object object) {
                        if (((Boolean) object).booleanValue()) {
                            try {
                                world.newGame();
                            } catch (Exception e) {
                                Gdx.app.exit();
                            }
                            ui.setCurrentScreen(Screens.SCENE_SCREEN);
                        }
                    }
                };

                d.pad(DPIUtils.getMarginSize());
                d.getButtonTable().padTop(DPIUtils.getMarginSize());
                d.getButtonTable().defaults().padLeft(DPIUtils.getMarginSize())
                        .padRight(DPIUtils.getMarginSize());

                Label l = new Label(I18N.getString("ui.override"), ui.getSkin(), "ui-dialog");
                l.setWrap(true);
                l.setAlignment(Align.center);

                d.getContentTable().add(l).prefWidth(Gdx.graphics.getWidth() * .7f);

                d.button(I18N.getString("ui.yes"), true, ui.getSkin().get("ui-dialog", TextButtonStyle.class));
                d.button(I18N.getString("ui.no"), false, ui.getSkin().get("ui-dialog", TextButtonStyle.class));
                d.key(Keys.ENTER, true).key(Keys.ESCAPE, false);

                d.show(stage);
            } else {

                try {
                    world.newGame();
                } catch (Exception e) {
                    Gdx.app.exit();
                }
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            }
        }
    });

    table.row();
    table.add(newGame);

    TextButton loadGame = new TextButton(I18N.getString("ui.load"), skin, style.textButtonStyle);
    loadGame.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.LOAD_GAME_SCREEN);
        }
    });

    table.row();
    table.add(loadGame);

    //      if (world.getCurrentScene() != null) {
    //         TextButton saveGame = new TextButton(I18N.getString("ui.save"), skin, style.textButtonStyle);
    //         saveGame.addListener(new ClickListener() {
    //            public void clicked(InputEvent event, float x, float y) {
    //               ui.setCurrentScreen(Screens.SAVE_GAME_SCREEN);
    //            }
    //         });
    //
    //         table.row();
    //         table.add(saveGame);
    //      }

    TextButton quit = new TextButton(I18N.getString("ui.quit"), skin, style.textButtonStyle);
    quit.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            Gdx.app.exit();
        }
    });

    table.row();
    table.add(quit);

    table.pack();

    stage.addActor(table);

    // BOTTOM-RIGHT BUTTON STACK
    credits = new Button(skin, "credits");
    credits.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.CREDIT_SCREEN);
        }
    });

    help = new Button(skin, "help");
    help.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.HELP_SCREEN);
        }
    });

    debug = new Button(skin, "debug");
    debug.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            DebugScreen debugScr = new DebugScreen();
            debugScr.setUI(ui);
            ui.setCurrentScreen(debugScr);
        }
    });

    Table buttonStack = new Table();
    buttonStack.defaults().pad(DPIUtils.getSpacing()).size(DPIUtils.getPrefButtonSize(),
            DPIUtils.getPrefButtonSize());
    buttonStack.pad(DPIUtils.getMarginSize() * 2);

    if (EngineLogger.debugMode() && world.getCurrentScene() != null) {
        buttonStack.add(debug);
        buttonStack.row();
    }

    buttonStack.add(help);
    buttonStack.row();
    buttonStack.add(credits);
    buttonStack.bottom().right();
    buttonStack.setFillParent(true);
    buttonStack.pack();
    stage.addActor(buttonStack);

    Label version = new Label("v" + Config.getProperty(Config.VERSION_PROP, " unspecified"), skin);
    version.setPosition(DPIUtils.getMarginSize(), DPIUtils.getMarginSize());
    stage.addActor(version);

    debug.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            DebugScreen debugScr = new DebugScreen();
            debugScr.setUI(ui);
            ui.setCurrentScreen(debugScr);
        }
    });

    pointer = new Pointer(skin);
    stage.addActor(pointer);

    Gdx.input.setInputProcessor(stage);
}

From source file:com.bladecoder.engineeditor.scneditor.ViewWindow.java

License:Apache License

public ViewWindow(Skin skin, ScnWidget sw) {

    scnWidget = sw;//from w w  w . j a  v  a2 s. c  o m

    Table table = new Table(skin);
    table.defaults().left().expandX();
    table.top();
    table.add(new Label("View", skin, "big")).center();

    Drawable drawable = skin.getDrawable("trans");
    setBackground(drawable);
    table.row();

    final CheckBox inSceneCb = new CheckBox("Animations in scene", skin);
    inSceneCb.setChecked(false);
    table.add(inSceneCb);

    table.row();
    final CheckBox animCb = new CheckBox("Show Animations", skin);
    animCb.setChecked(true);
    table.add(animCb);

    table.row();
    walkZone = new CheckBox("Show Walkzone", skin);
    walkZone.setChecked(false);
    table.add(walkZone);

    setActor(table);

    inSceneCb.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) {
            scnWidget.setInSceneSprites(inSceneCb.isChecked());
        }
    });

    animCb.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) {
            scnWidget.setAnimation(animCb.isChecked());
        }
    });

    walkZone.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) {
            scnWidget.setShowWalkZone(walkZone.isChecked());
        }
    });

    prefSize(200, 200);
    setSize(200, 200);
}

From source file:com.exovum.test.animation.AnimatorMenuScreen.java

License:Creative Commons License

public AnimatorMenuScreen(final Game game) {
    this.batch = new SpriteBatch();
    this.game = game;
    screen = this;

    menuBackground = new Texture(Gdx.files.internal("beach-ocean-sea-bg/transparent-png/full_background.png"));
    menuMusic = Gdx.audio.newMusic(Gdx.files.internal("Carpe Diem.mp3"));

    stage = new Stage(new FitViewport(800, 480));
    Gdx.input.setInputProcessor(stage);/*from  w  w  w  .ja  v a2 s .  co  m*/
    // Setup the UI skin. Pass the TextureAtlas too so it can find the default settings.
    TextureAtlas skinAtlas = new TextureAtlas(Gdx.files.internal("uiskin.atlas"));
    skin = new Skin(Gdx.files.internal("uiskin.json"), skinAtlas);

    mainTable = new Table(skin);
    //mainTable.defaults().expand().fill().padBottom(4f).padTop(4f);
    mainTable.setFillParent(true);

    // Add the title of the game at the top of the MenuScreen
    titleTable = new Table(skin);
    final Label titleLabel = new Label("Kordan Jirby", skin, "title");
    titleLabel.setColor(Color.FIREBRICK);
    //titleLabel.setStyle(new Label.LabelStyle(titleFont, Color.FIREBRICK));
    titleLabel.setAlignment(Align.center, Align.center);
    titleLabel.setPosition(stage.getWidth() / 2, stage.getHeight());
    //titleLabel.setFontScale(2.0f);
    titleTable.defaults().expand().fill().padBottom(4f).padTop(4f);

    titleTable.add(titleLabel);
    titleTable.padBottom(10f);

    // Bottom/Base Table: left-child holds buttonTable for menu buttons,
    //                    right-child holds some text info ie instructions or credits
    baseTable = new Table(skin);
    baseTable.defaults().expand().fill().padBottom(10f).padTop(10f);

    // Add the buttons for the user to press: play, help, credits, exit
    TextButton playButton = new TextButton("Play Game", skin, "small-font");
    TextButton helpButton = new TextButton("Instructions", skin, "small-font");
    TextButton creditsButton = new TextButton("Credits", skin, "small-font");
    TextButton exitButton = new TextButton("Exit", skin, "small-font");

    Table buttonTable = new Table(skin);
    // Add the button table as the left-child to baseTable
    baseTable.add(buttonTable);
    //menuTable.setBackground("console2");
    // Set the color of the BACKGROUND on the buttons
    Color buttonColor = Color.SKY;

    Gdx.app.log("AnimatorMenuScreen", "Color RGB SKY: " + Color.SKY.toString());
    playButton.setColor(buttonColor);
    helpButton.setColor(buttonColor);
    creditsButton.setColor(buttonColor);
    exitButton.setColor(buttonColor);
    // Set the color of the TEXT on the buttons
    //buttonColor = new Color(0.845f, 0.845f, 0.845f, 1);
    buttonColor = new Color(0.91f, 0.91f, 0.91f, 1);
    playButton.getLabel().setColor(buttonColor);
    helpButton.getLabel().setColor(buttonColor);
    creditsButton.getLabel().setColor(buttonColor);
    exitButton.getLabel().setColor(buttonColor);

    buttonTable.defaults().expand().fill().padBottom(8f).padTop(2f);
    buttonTable.add(playButton).width(180f).height(60f).row();
    buttonTable.add(helpButton).width(180f).height(60f).row();
    buttonTable.add(creditsButton).width(180f).height(60f).row();
    buttonTable.add(exitButton).width(180f).height(60f);
    buttonTable.padTop(30f).padBottom(30f);
    buttonTable.left();

    /*
    Temporary removal of infoTable
    It was not easy for me to add hidden/new text and for the layouts to update correctly.
    Changing plan to create a new Screen for Credits (and instructions too).
     */
    infoTable = new Table(skin); // = new Label("", skin, "small-font");
    infoTable.setVisible(false);
    infoTable.defaults().expand().fill().padBottom(8f).padTop(2f);
    //baseTable.add(infoTable);

    // Add title table at the top of mainTable
    mainTable.add(titleTable).row();
    // Add baseTable containing buttonTable to the next row of mainTable
    //mainTable.add(buttonTable);
    mainTable.add(baseTable);
    // Add mainTable to the stage
    stage.addActor(mainTable);

    // Event Listeners for the menu buttons
    playButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            Gdx.app.log("AnimatorMenuScreen", "Pressed playButton");
            //game.setScreen(new AnimatorGameScreen(game, screen));
            ((Game) Gdx.app.getApplicationListener()).setScreen(new AnimatorGameScreen(game, screen));
        }
    });
    helpButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            Gdx.app.log("AnimatorMenuScreen", "Pressed helpButton");
            //game.setScreen(new InstructionsScreen(game, screen));
            ((Game) Gdx.app.getApplicationListener()).setScreen(new InstructionsScreen(game, screen));
        }
    });
    creditsButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            Gdx.app.log("AnimatorMenuScreen", "Pressed creditsButton");
            //game.setScreen(new CreditsScreen(game, screen));
            ((Game) Gdx.app.getApplicationListener()).setScreen(new CreditsScreen(game, screen));
            /*
            *  Attempt at adding text next to the buttons.
            *  Status: Unsuccessful. Updating the layout once adding the credits text
            *           does not update as easily as I hoped.
            *          Changing plan to use different Screens for Credits & Instructions.
            // If the table is visible and already showing credits, then 'minimize' infoTable
            if(infoTable.isVisible() && infoTable.getName() != null && infoTable.getName().equals("Credits")) {
            Gdx.app.log("AnimatorMenuScreen", "Hide the credits menu");
            infoTable.setVisible(false);
            infoTable.clearChildren();
            } else {
            Gdx.app.log("AnimatorMenuScreen", "Display the credits text");
            // Otherwise, make the infoTable visible and set text to the credits
            infoTable.setVisible(true);
            infoTable.clearChildren();
            //infoTable.center();
            Label musicLabel = new Label("Music\n" + "Pixel Peeker Polka - slower Kevin MacLeod (incompetech.com)\n" +
                    "Licensed under Creative Commons: By Attribution 3.0 License\n" +
                    "http://creativecommons.org/licenses/by/3.0/",
                    skin, "small-font");
            musicLabel.setColor(Color.BLACK);
            //infoTable.addActor(musicLabel);
                    
            infoTable.addActor(musicLabel);
            infoTable.padLeft(20f);
                    
            //musicLabel.setPosition(stage.getWidth() / 2 + 50, stage.getHeight() / 2 + 100, Align.right);
            infoTable.defaults().expand().fill().padBottom(8f).padTop(2f);
            musicLabel.setWidth(200f);
            //musicLabel.setWrap(true);
            musicLabel.setAlignment(Align.center);
                    
            //musicLabel.setFillParent(true);
            // "Invalidates this actor's layout, causing layout() to happen next time
            // validate() is called
            infoTable.invalidate();
            baseTable.invalidate();
            infoTable.center();
                    
            //infoTable.setFillParent(true);
                    
            //titleTable.add(musicLabel);
            }
            infoTable.setName("Credits");
            */
        }
    });
    exitButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            Gdx.app.log("AnimatorMenuScreen", "Pressed exitButton - exiting application");
            Gdx.app.exit();
        }
    });

}

From source file:com.exovum.test.animation.CreditsScreen.java

License:Creative Commons License

public CreditsScreen(final Game game, Screen parentScreen) {
    this.batch = new SpriteBatch();
    this.game = game;
    this.parent = parentScreen;

    Gdx.app.log("CreditsScreen", "Creating CreditsScreen");

    menuBackground = new Texture(Gdx.files.internal("beach-ocean-sea-bg/transparent-png/full_background.png"));

    stage = new Stage(new FitViewport(800, 480));
    Gdx.input.setInputProcessor(stage);/*  w  ww  .ja  va 2  s.c o  m*/
    skin = new Skin(Gdx.files.internal("uiskin.json"));

    mainTable = new Table(skin);
    //mainTable.defaults().expand().fill().padBottom(4f).padTop(4f);
    mainTable.setFillParent(true);

    baseTable = new Table(skin);
    baseTable.defaults().expand().fill().padBottom(10f).padTop(10f);

    Label myHeader = new Label("General", skin, "small-font");
    myHeader.setColor(Color.FIREBRICK);
    myHeader.setAlignment(Align.center);

    Label myCredits = new Label("Programming and Development\n" + "Caleb Stevenson", skin, "small-font");
    myCredits.setColor(Color.BLACK);
    myCredits.setAlignment(Align.center);

    Label musicHeader = new Label("Music", skin, "small-font");
    musicHeader.setColor(Color.FIREBRICK);
    musicHeader.setAlignment(Align.center);

    Label musicCredits = new Label("\"Capre Diem\", \"Hidden Past\", \"Pixel Peeker Polka - slower\"\n"
            + "Kevin MacLeod (incompetech.com)\n" + "Licensed under Creative Commons: By Attribution 3.0\n"
            + "http://creativecommons.org/licenses/by/3.0/", skin, "small-font");
    musicCredits.setColor(Color.BLACK);
    musicCredits.setAlignment(Align.center);

    Label artHeader = new Label("Artwork", skin, "small-font");
    artHeader.setColor(Color.FIREBRICK);
    artHeader.setAlignment(Align.center);

    Label artCredits = new Label("Background and Tree Sprites\n" + "http://bevouliin.com\nopengameart.org",
            skin, "small-font");
    artCredits.setColor(Color.BLACK);

    artCredits.setAlignment(Align.center);

    TextButton exitButton = new TextButton("Back to Menu", skin, "small-font");

    Table buttonTable = new Table(skin);
    baseTable.add(myHeader).row();
    baseTable.add(myCredits).row();
    baseTable.add(musicHeader).row();
    baseTable.add(musicCredits).row();
    baseTable.add(artHeader).row();
    baseTable.add(artCredits).row();
    baseTable.add(buttonTable);
    //menuTable.setBackground("console2");
    // Set the color of the BACKGROUND on the buttons
    Color buttonColor = Color.SKY;
    exitButton.setColor(buttonColor);
    // Set the color of the TEXT on the buttons
    exitButton.getLabel().setColor(new Color(0.91f, 0.91f, 0.91f, 1));

    buttonTable.defaults().expand().fill().padBottom(4f).padTop(2f);
    buttonTable.add(exitButton).width(180f).height(60f);
    //buttonTable.padTop(20f).padBottom(20f);
    buttonTable.left();

    // Add baseTable containing buttonTable to the next row of mainTable
    //mainTable.add(buttonTable);
    mainTable.add(baseTable);
    // Add mainTable to the stage
    stage.addActor(mainTable);

    exitButton.addListener(new ChangeListener() {
        public void changed(ChangeEvent event, Actor actor) {
            Gdx.app.log("CreditsScreen", "Exiting to main menu");
            //game.setScreen(new AnimatorMenuScreen(game));
            //game.setScreen(parent);
            //((Game) Gdx.app.getApplicationListener()).setScreen(parent);
            ((Game) Gdx.app.getApplicationListener()).setScreen(new AnimatorMenuScreen(game));
        }
    });

    //Use an InputMultiplexer so that the Stage and keyDown input processors can both be used
    InputMultiplexer multiplexer = new InputMultiplexer();
    multiplexer.addProcessor(stage);
    multiplexer.addProcessor(new InputAdapter() {
        // If the back key is pressed, go to main menu
        // This also handles the Android 'back' button
        @Override
        public boolean keyDown(int keycode) {
            if (keycode == Input.Keys.BACK) {
                // Handle the back button
                Gdx.app.log("CreditsScreen", "KeyDown: BACK pressed");
                //AnimatorMenuScreen newMenu = new AnimatorMenuScreen(batch, game);
                //game.setScreen(newMenu);
                //game.setScreen(parent);
                //((Game) Gdx.app.getApplicationListener()).setScreen(parent);
                ((Game) Gdx.app.getApplicationListener()).setScreen(new AnimatorMenuScreen(game));
                return true;
            }
            return false;
        }
    });

    Gdx.input.setInputProcessor(multiplexer);
}

From source file:com.kotcrab.vis.ui.util.TableUtils.java

License:Apache License

/** Sets default table spacing for VisUI skin. Uses values from current skin {@link Sizes} class obtained from {@link VisUI#getSizes()}. */
public static void setSpacingDefaults(Table table) {
    Sizes sizes = VisUI.getSizes();/*from  w w  w . ja  va 2s  .  c om*/
    if (sizes.spacingTop != 0)
        table.defaults().spaceTop(sizes.spacingTop);
    if (sizes.spacingBottom != 0)
        table.defaults().spaceBottom(sizes.spacingBottom);
    if (sizes.spacingRight != 0)
        table.defaults().spaceRight(sizes.spacingRight);
    if (sizes.spacingLeft != 0)
        table.defaults().spaceLeft(sizes.spacingLeft);
}

From source file:com.packtpub.libgdx.bludbourne.screens.CreditScreen.java

public CreditScreen(BludBourne game) {
    _game = game;/*w w  w  .j a v a 2 s . com*/
    _stage = new Stage();
    Gdx.input.setInputProcessor(_stage);

    //Get text
    FileHandle file = Gdx.files.internal(CREDITS_PATH);
    String textString = file.readString();

    Label text = new Label(textString, Utility.STATUSUI_SKIN, "credits");
    text.setAlignment(Align.top | Align.center);
    text.setWrap(true);

    _scrollPane = new ScrollPane(text);
    _scrollPane.addListener(new ClickListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            _scrollPane.setScrollY(0);
            _scrollPane.updateVisualScroll();
            _game.setScreen(_game.getScreenType(BludBourne.ScreenType.MainMenu));
        }
    });

    Table table = new Table();
    table.center();
    table.setFillParent(true);
    table.defaults().width(Gdx.graphics.getWidth());
    table.add(_scrollPane);

    _stage.addActor(table);
}

From source file:com.ray3k.skincomposer.dialog.DialogAbout.java

License:Open Source License

public DialogAbout(Main main, Skin skin, String windowStyleName) {
    super("", skin, windowStyleName);

    key(Keys.ENTER, true);/*  www .java 2s  .  c  om*/
    key(Keys.ESCAPE, false);
    Table table = getContentTable();
    table.defaults().pad(10.0f);

    Label label = new Label("About", skin, "title");
    table.add(label);

    table.row();
    label = new Label("Skin Composer is developed by Raeleus for the LibGDX community.\nVersion " + Main.VERSION
            + "\nCopyright  Raymond \"Raeleus\" Buckley 2017", skin);
    label.setAlignment(Align.center);
    table.add(label).padBottom(0);
    table.row();
    TextButton button = new TextButton("ray3k.wordpress.com/software/skin-composer-for-libgdx/", skin, "link");
    button.addListener(main.getHandListener());
    button.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Gdx.net.openURI("https://ray3k.wordpress.com/software/skin-composer-for-libgdx/");
        }
    });
    table.add(button).padTop(0);

    button("Close");
    getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
    getCell(getButtonTable()).padBottom(20.0f);

    table.setWidth(200);
}