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

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

Introduction

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

Prototype

public ScrollPane(Actor widget) 

Source Link

Usage

From source file:dhx.amidakuji.view.UIMenuBuild.java

License:Open Source License

@Override
public void show() {
    stage = new Stage();
    Gdx.input.setInputProcessor(stage);/*from  w  ww  .j  a  v  a 2  s .  com*/

    clearTextFieldTop = true;
    clearTextFieldBottom = true;

    texAtlas = new TextureAtlas("ui/menuAtlas.pack");
    skin = new Skin(Gdx.files.internal("ui/menuSkin.json"), texAtlas);

    float startY = Gdx.graphics.getHeight() - AmidakujiMain.startY;

    Label enterTop = new Label("PLEASE ENTER A TOP-LEVEL VALUE", skin);
    startY -= enterTop.getHeight();
    enterTop.setPosition(30, startY);
    stage.addActor(enterTop);

    textTop = new TextField("PLEASE ENTER TEXT HERE", skin);
    startY -= textTop.getHeight();
    textTop.setPosition(40, startY);
    textTop.setWidth(Gdx.graphics.getWidth() / 2);
    textTop.setTextFieldListener(new TextFieldListener() {

        @Override
        public void keyTyped(TextField textField, char key) {
            if (clearTextFieldTop) {
                clearTextFieldTop = false;
            }

            if (key == 13 || key == 10) {
                onNewInput();
            }
        }

    });
    textTop.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {

            if (focusLost)
                focusLost = false;

            if (clearTextFieldTop) {
                textTop.setText("");
                clearTextFieldTop = false;
            }
        }
    });
    stage.addActor(textTop);

    Label enterBottom = new Label("PLEASE ENTER A BOTTOM-LEVEL VALUE", skin);
    startY -= enterBottom.getHeight() + AmidakujiMain.lineYPadding;
    enterBottom.setPosition(30, startY);

    stage.addActor(enterBottom);

    textBottom = new TextField("PLEASE ENTER TEXT HERE", skin);
    startY -= textBottom.getHeight();
    textBottom.setPosition(40, startY);
    textBottom.setWidth(Gdx.graphics.getWidth() / 2);
    textBottom.setTextFieldListener(new TextFieldListener() {

        @Override
        public void keyTyped(TextField textField, char key) {
            if (clearTextFieldBottom) {
                clearTextFieldBottom = false;
            }

            if (key == 13 || key == 10) {
                onNewInput();
            }

        }

    });
    textBottom.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (focusLost)
                focusLost = false;

            if (clearTextFieldBottom) {
                textBottom.setText("");
                clearTextFieldBottom = false;
            }
        }
    });
    stage.addActor(textBottom);

    start = new TextButton("START", skin);
    start.setPosition(30, AmidakujiMain.startY);
    start.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {

            if (countLevelValues <= 1 || menuLines.size() <= 1) {
                return;
            }

            String[][] data = new String[countLevelValues][2];

            for (int counter = 0; counter < menuLines.size(); counter++) {
                data[counter][0] = menuLines.get(counter).getTop().getText();
                data[counter][1] = menuLines.get(counter).getBottom().getText();
            }

            //            GUIController.setData(data);

            if (!focusLost)
                focusLost = true;

            UIMenuBuild.this.game.getGameBuild().totalWidth = 0;
            //            UIMenuBuild.this.game.getGameBuild().calcAmidakuji(data);
            AmidakujiController.planAmidakuji();
            AmidakujiController.setInput(data);
            AmidakujiController.calcAmidakuji();
            UIMenuBuild.this.game.setScreen(UIMenuBuild.this.game.getGameBuild());

        }

    });

    back = new TextButton("BACK", skin);
    back.setPosition(30 + start.getWidth() + AmidakujiMain.lineYPadding, AmidakujiMain.startY);
    back.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (!focusLost)
                focusLost = true;
            UIMenuBuild.this.game.setScreen(new UISplash(UIMenuBuild.this.game));
        }

    });

    clear = new TextButton("CLEAR ALL", skin);
    clear.setPosition(30 + start.getWidth() + AmidakujiMain.lineYPadding * 2 + back.getWidth(),
            AmidakujiMain.startY);
    clear.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (menuLines.size() == 0) {
                return;
            }
            table.clearChildren();
            menuLines.clear();
            countLevelValues = 0;
        }

    });

    //      debug = new TextButton("DEBUG", skin);
    //      debug.setPosition(30 + start.getWidth() + AmidakujiMain.lineYPadding * 2 + back.getWidth() + AmidakujiMain.lineYPadding * 2 + clear.getWidth(), AmidakujiMain.startY);
    //      debug.addListener(new ClickListener() {
    //         
    //         @Override
    //         public void clicked(InputEvent event, float x, float y) {         
    //            
    //            String[][] data = new String[9][2];
    //            
    //            String player = "player ";
    //            String win = "wins";
    //            String lose = "loses";
    //            
    //            for(int counter = 0; counter < data.length; counter++) {
    //               data[counter][0] = player + (counter + 1);
    //               if(counter < data.length - 1) {
    //                  data[counter][1] = win;
    //               } else {
    //                  data[counter][1] = lose;
    //               }
    //            }
    //            
    //            if(!focusLost) focusLost = true;
    //            
    //            UIMenuBuild.this.game.getGameBuild().setData(data);
    //            UIMenuBuild.this.game.getGameBuild().calcAmidakuji();
    //            UIMenuBuild.this.game.setScreen(UIMenuBuild.this.game.getGameBuild());
    //            
    //         }
    //         
    //      });

    Table container = new Table(skin);
    float x = 30;
    float y = start.getHeight() + start.getY() + AmidakujiMain.lineYPadding * 4;
    container.setBounds(x, y, Gdx.graphics.getWidth() - x * 2, startY - y - AmidakujiMain.lineYPadding);
    //      container.debug();

    table = new Table(skin);
    //      table.debug();
    table.defaults().spaceBottom(5);
    table.top();

    valueElementListener = new TextFieldListener() {

        @Override
        public void keyTyped(TextField textField, char key) {

            //            if(key == 13 || key == 10) {
            //               textField.setText(textField.getText().toUpperCase());
            //            }
        }

    };

    drawableDeleteBtn = new TextureRegionDrawable(
            new TextureRegion(new Texture(Gdx.files.internal("ui/delete.png"))));

    scrollPane = new ScrollPane(table);

    container.add("TOP-LEVEL VALUES").width(container.getWidth() / 2).left().padBottom(15);
    container.add("BOTTOM-LEVEL VALUES").width(container.getWidth() / 2).left().padBottom(15).row();
    container.add(scrollPane).expand().fill().colspan(2); // adding the scrollpane (including sub-table)

    stage.addActor(container);
    stage.addActor(start);
    stage.addActor(back);
    stage.addActor(clear);
    //      stage.addActor(debug);

    rebuild();

}

From source file:es.eucm.ead.editor.view.builders.scene.groupeditor.LayerSelector.java

License:Open Source License

public LayerSelector(GroupEditor groupeditor, GroupEditorStyle style) {
    super();/*from  w w  w.  j  ava 2  s  .  co m*/
    this.style = style;
    this.groupEditor = groupeditor;
    scrollPane = new ScrollPane(layers = new LinearLayout(true));
    scrollPane.setScrollingDisabled(false, true);
    scrollPane.setOverscroll(false, false);
    add(scrollPane).fillX();
    setBackground(style.layersBackground);
    this.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            Actor target = event.getTarget();
            if (target instanceof Layer) {
                if (!groupEditor.isMultipleSelection()) {
                    for (Actor layer : layers.getChildren()) {
                        if (layer != target) {
                            ((Layer) layer).setChecked(false);
                        }
                    }
                }
                groupEditor.addToSelection(((Layer) target).actor);
                groupEditor.fireSelection();
            }
        }
    });
}

From source file:es.eucm.ead.editor.view.controllers.SearchResultsWidget.java

License:Open Source License

public SearchResultsWidget(FuzzyIndex index, Skin skin) {
    super(false);
    final TextField searchField = new TextField("", skin);
    addListener(new FocusListener() {
        @Override//from   ww  w.j  ava  2s  .c o m
        public void keyboardFocusChanged(FocusEvent event, Actor actor, boolean focused) {
            if (focused) {
                event.getStage().setKeyboardFocus(searchField);
            }
        }

        @Override
        public void scrollFocusChanged(FocusEvent event, Actor actor, boolean focused) {
            if (focused) {
                event.getStage().setScrollFocus(scrollPane);
            }
        }
    });
    searchField.addListener(new InputListener() {
        @Override
        public boolean keyTyped(InputEvent event, char character) {
            fuzzyIndex.search(searchField.getText(), found);

            contextMenu.clearChildren();

            for (Term term : found) {
                contextMenu.item(term.getTermString()).setUserObject(term);
            }
            contextMenu.pack();
            scrollPane.setWidth(contextMenu.getWidth());
            return true;
        }
    });
    add(searchField).expandX();

    contextMenu = new ContextMenu(skin);
    contextMenu.addCaptureListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            fireTermSelected((Term) event.getTarget().getUserObject());
            return true;
        }
    });

    scrollPane = new ScrollPane(contextMenu) {
        @Override
        public float getPrefHeight() {
            return Math.min(RESULTS_HEIGHT, getWidget().getHeight());
        }
    };

    add(scrollPane).expandX();
    fuzzyIndex = index;
    found = new Array<Term>();
}

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

License:Open Source License

public SliderPagesWidget(String background, Skin skin, Actor... actors) {
    super(skin);/*from  w  w  w.j  ava  2 s  .  c om*/
    setFillParent(true);
    setBackground(skin.getDrawable(background));
    wasPanDragFling = false;
    numPages = actors.length;

    LinearLayout linearCircles = new LinearLayout(true);
    LinearLayout linearPages = new LinearLayout(true);

    scroll = new ScrollPane(linearPages) {

        @Override
        public void act(float delta) {
            super.act(delta);
            if (isPanning() || isDragging() || isFlinging()) {
                SliderPagesWidget.this.actualizePagesIcon();
            }
            if (wasPanDragFling && !isPanning() && !isDragging() && !isFlinging()) {
                scrollToPage();
            } else if (!wasPanDragFling && isPanning() || isDragging() || isFlinging()) {
                wasPanDragFling = true;
            }
        }
    };
    scroll.setOverscroll(false, false);

    iconPages = linearCircles.getChildren();

    ClickListener listener = new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Actor actor = event.getListenerActor();
            int index = iconPages.indexOf(actor, true);
            scrollToPage(index);
        }
    };

    for (Actor page : actors) {
        linearPages.add(page);

        IconButton pageCircle = new IconButton(SkinConstants.IC_CIRCLE, skin, SkinConstants.STYLE_SLIDER_PAGES);
        pageCircle.addListener(listener);
        linearCircles.add(pageCircle);
    }

    add(scroll).expand().fill();
    row();
    add(linearCircles);

    scrollToPage(0);
}

From source file:es.eucm.ead.mockup.core.control.screens.gallery.ProjectGallery.java

License:Open Source License

@Override
public void create() {
    setPreviousScreen(Screens.MAIN_MENU);

    super.root = new Group();
    root.setVisible(false);//w w  w  .  java2s.  c o m

    topToolBar = new ToolBar(skin);
    topToolBar.right();

    final ImageButton backButton = new ImageButton(skin, "ic_goback");
    backButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            exitAnimation(Screens.MAIN_MENU);
        }
    });
    String search = "Buscar por nombre";//TODO use i18n!
    TextField searchtf = new TextField("", skin);
    searchtf.setMessageText(search);
    searchtf.setMaxLength(search.length());
    String[] orders = new String[] { "Ordenar por ...", "nombre A-Z", "nombre Z-A", "ms recientes",
            "menos recientes" };//TODO use i18n!
    SelectBox ordenar = new SelectBox(orders, skin);

    Label nombre = new Label("Galera de proyectos", skin);

    topToolBar.add(backButton);
    topToolBar.add(nombre).expandX().left().padLeft(5f);
    topToolBar.add(ordenar);
    topToolBar.add(searchtf).width(skin.getFont("default-font").getBounds(search).width + 50); //FIXME hardcoded fixed value

    Texture t = am.get("mockup/temp/proyecto.png", Texture.class);
    t.setFilter(TextureFilter.Linear, TextureFilter.Linear);
    final int COLS = 3, ROWS = 6;
    gridPanel = new GalleryGrid<Actor>(skin, ROWS, COLS, root, new ToolBar[] { topToolBar }) {
        @Override
        protected void entityClicked(InputEvent event) {
            if (event.getListenerActor() instanceof GridPanel) {
                exitAnimation(Screens.PROJECT_MENU);
            }
        }
    };
    boolean first = true;
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            if (first) {
                first = false;
                gridPanel.addItem(new ImageButton(skin, "ic_newproject"), 0, 0).fill();
            } else {
                GalleryEntity auxImg = new GalleryEntity(t);
                gridPanel.addItem(auxImg, i, j);
            }
        }
    }

    ScrollPane scrollPane = new ScrollPane(gridPanel);
    scrollPane.setScrollingDisabled(true, false);
    scrollPane.setBounds(0, 0, stagew, stageh - topToolBar.getHeight());

    root.addActor(topToolBar);
    root.addActor(scrollPane);

    stage.addActor(root);
}

From source file:es.eucm.ead.mockup.core.control.screens.menu.MainMenu.java

License:Open Source License

@Override
public void create() {
    this.optionsGroup = UIAssets.getOptionsGroup();

    super.root = new Group();
    root.setVisible(false);/* w w  w . j a  v a2 s. c  o m*/

    final Button newProject, projectGallery;
    newProject = new MenuButton("Nuevo\nproyecto", skin, "ic_newproject", MAIN_MENU_BUTTON_WIDTH_HEIGHT,
            MAIN_MENU_BUTTON_WIDTH_HEIGHT);// TODO
    // use
    // i18n
    // in
    // this
    // class
    projectGallery = new MenuButton("Galera de\nproyectos", skin, "ic_gallery", MAIN_MENU_BUTTON_WIDTH_HEIGHT,
            MAIN_MENU_BUTTON_WIDTH_HEIGHT);// TODO use i18n in this class

    CircularGroup cg = new CircularGroup(halfstageh, 135, 180, true, newProject, projectGallery);
    cg.setX(halfstagew);
    cg.setY(halfstageh);

    // Scan for aviable projects here...
    Table projectsTable = new Table();
    // projectsTable.debug();
    projectsTable.defaults().space(10);
    ScrollPane sp = new ScrollPane(projectsTable);
    sp.setBounds(stagew * .1f, 10, stagew * .8f, stageh * .2f);
    sp.setScrollingDisabled(false, true);
    Texture t = am.get("mockup/temp/proyecto.png", Texture.class);
    t.setFilter(TextureFilter.Linear, TextureFilter.Linear);
    final int PROJECTS = 8;
    final Array<Actor> mProjects = new Array<Actor>(false, PROJECTS);

    // Creating the transition listener
    ClickListener mTransitionListener = new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            final Screens next = getNextScreen(event.getListenerActor());
            if (next == null) {
                return;
            }
            exitAnimation(next);
        }

        private Screens getNextScreen(Actor target) {
            Screens next = null;
            if (target == newProject) {
                next = Screens.PROJECT_MENU;
            } else if (target == projectGallery) {
                next = Screens.PROJECT_GALLERY;
            } else {
                for (Actor project : mProjects) {
                    if (target == project) {
                        next = Screens.PROJECT_MENU;
                    }
                }
            }
            return next;
        }
    };

    for (int i = 0; i < PROJECTS; ++i) {
        Image im = new Image(t);
        im.addListener(mTransitionListener);

        projectsTable.add(im);

        mProjects.add(im);
    }

    newProject.addListener(mTransitionListener);
    projectGallery.addListener(mTransitionListener);

    Image bg = new Image(skin.getRegion("bg"));
    bg.setTouchable(Touchable.disabled);
    bg.setBounds(0, 0, stagew, stageh);

    root.addActor(bg);
    root.addActor(sp);
    root.addActor(cg);

    Table topName = new Table(skin);
    topName.setBounds(0, stageh - UIAssets.TOOLBAR_HEIGHT, stagew, UIAssets.TOOLBAR_HEIGHT);
    topName.left();
    topName.add("Men principal").padLeft(10f);
    root.addActor(topName);

    stage.addActor(root);

    exitDialog = new Dialog("Salir?", skin, "exit-dialog") {
        protected void result(Object object) {
            if ((Boolean) object) {
                Gdx.app.exit();
            }
        }
    }.text("Ests seguro?").button("Todava no!", false).button("Salir", true).key(Keys.ENTER, true); // TODO use i18n
    exitDialog.setMovable(false);
    exitDialog.padLeft(DEFAULT_DIALOG_PADDING_BOTTON_TOP);
    exitDialog.padRight(DEFAULT_DIALOG_PADDING_BOTTON_TOP);
}

From source file:es.eucm.ead.mockup.core.view.ui.components.edition.GeneralTable.java

License:Open Source License

public GeneralTable(Skin s, final Panel parent, FlagPanel f) {
    super(s);/*from ww  w . j av  a2s  .c  o  m*/

    fPanel = f;
    top = new Table(s);
    bot = new Table(s);
    this.skin = s;

    top.defaults().pad(10);

    top.add("Elemento solo visible si:").expandX().left().padLeft(50);
    top.row();

    ScrollPane sp = new ScrollPane(top);
    sp.setScrollingDisabled(true, false);

    TextButton accept = new TextButton("Aceptar", skin);
    TextButton newAct = new TextButton("Nueva condicin", skin);

    bot.row();
    bot.add(accept).expandX().left();
    bot.add(newAct).expandX().right();

    accept.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            event.cancel();
            AbstractScreen.mockupController.hide(parent);
        }
    });

    newAct.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            event.cancel();
            top.add(new FragTableVisible(skin, fPanel)).expandX().fill();
        }
    });

    this.add(sp).expand().fill();
    this.row();
    this.add(bot).expandX().fill().bottom();

    top.debug();
    this.debug();

}

From source file:io.piotrjastrzebski.sfg.screen.CustomDifficultyScreen.java

License:Open Source License

private Table createTabs() {
    buttons = new Table();
    buttonGroup = new ButtonGroup();
    stack = new Stack();
    tabs = new ArrayMap<String, Tab>();

    addTab(TAB_1, Config.Difficulty.CUSTOM_1);
    addTab(TAB_2, Config.Difficulty.CUSTOM_2);
    addTab(TAB_3, Config.Difficulty.CUSTOM_3);
    showTab(TAB_1);/* ww  w. j  a va2  s  .c o m*/

    final Table table = new Table();
    table.add(buttons).pad(0, 10, 10, 10);
    table.row();
    final ScrollPane scrollPane = new ScrollPane(stack);
    // so sliders sort of work
    scrollPane.setCancelTouchFocus(false);
    scrollPane.setScrollingDisabled(true, false);
    table.add(scrollPane).expand().fill();
    //        table.debug();
    return table;
}

From source file:kyle.game.besiege.panels.PanelBattle.java

License:Open Source License

public PanelBattle(SidePanel panel, Battle battle) {
    this.panel = panel;
    this.battle = battle;
    this.addParentPanel(panel);

    LabelStyle lsBig = new LabelStyle();
    lsBig.font = Assets.pixel24;//from w  ww.j  av a2  s  .co  m

    LabelStyle lsFaction = new LabelStyle();
    lsFaction.font = Assets.pixel16neg;

    ls = new LabelStyle();
    ls.font = Assets.pixel16neg;

    lsRetreat = new LabelStyle();
    lsRetreat.font = Assets.pixel13neg;
    lsRetreat.fontColor = Color.YELLOW;

    lsSmall = new LabelStyle();
    lsSmall.font = Assets.pixel13neg;

    lsSmallG = new LabelStyle();
    lsSmallG.font = Assets.pixel13neg;
    lsSmallG.fontColor = Color.GRAY;

    title = new Label("Battle!", lsBig);
    //      Label vsC = new Label("vs", ls);
    Label trpsAC = new Label("Trps:", ls);
    Label trpsDC = new Label("Trps:", ls);
    Label atkAC = new Label("Atk:", ls);
    Label atkDC = new Label("Atk:", ls);
    Label defAC = new Label("Def:", ls);
    Label defDC = new Label("Def:", ls);
    Label advAC = new Label("Adv:", ls);
    Label advDC = new Label("Adv:", ls);

    title.setAlignment(0, 0);
    title.setWrap(true);
    title.setWidth(SidePanel.WIDTH - PAD * 2 - MINI_PAD * 2);
    initA = new Label("", lsFaction);
    initD = new Label("", lsFaction);
    initA.setAlignment(Align.center);
    initD.setAlignment(Align.center);
    initA.setWrap(true);
    initD.setWrap(true);

    if (battle.aArmies.size > 0 && battle.aArmies.first() != null)
        initA.setText(battle.aArmies.first().getName());
    if (battle.dArmies.size > 0 && battle.dArmies.first() != null)
        initD.setText(battle.dArmies.first().getName());

    attackers = new Label("", ls);
    defenders = new Label("", ls);
    trpsA = new Label("", ls);
    trpsD = new Label("", ls);
    trpsA.setWrap(true);
    trpsD.setWrap(true);
    atkA = new Label("", ls);
    atkD = new Label("", ls);
    defA = new Label("", ls);
    defD = new Label("", ls);
    //      advA = new Label("", ls);
    //      advD = new Label("" ,ls);

    balance = new Table();
    red = new Table();
    red.setBackground(new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(redPatch), r, r, r, r)));
    green = new Table();
    green.setBackground(new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(greenPatch), r, r, r, r)));
    //      def = new Label("", ls);
    //      spd = new Label("", ls);

    // Create text
    text = new Table();
    //text.debug();
    text.defaults().padTop(NEG).left();

    text.add(title).colspan(4).fillX().expandX().padBottom(MINI_PAD);
    text.row();
    text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2);
    text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2);
    //      text.row();
    //      text.add(vsC).colspan(4).center();
    text.row();
    text.add(initA).center().colspan(2).expandX().width((SidePanel.WIDTH - PAD * 2 - MINI_PAD) / 2);
    text.add(initD).center().colspan(2).expandX().width((SidePanel.WIDTH - PAD * 2 - MINI_PAD) / 2);
    text.row();
    text.add(attackers).center().colspan(2);
    text.add(defenders).center().colspan(2);
    text.row();
    text.add(trpsAC).padLeft(MINI_PAD);
    text.add(trpsA).left();
    text.add(trpsDC);
    text.add(trpsD).left();
    text.row();
    text.add(atkAC).padLeft(MINI_PAD);
    text.add(atkA).left();
    text.add(atkDC);
    text.add(atkD).left();
    text.row();
    text.add(defAC).padLeft(MINI_PAD);
    text.add(defA).left();
    text.add(defDC);
    text.add(defD).left();
    text.row();
    //      text.add(advAC).padLeft(MINI_PAD);
    //      text.add(advA).left();
    //      text.add(advDC);
    //      text.add(advD).left();
    text.add(balance).colspan(4).padTop(MINI_PAD);
    text.row();

    Table leftTable = new Table();
    Table rightTable = new Table();
    aTable = new Table();
    dTable = new Table();
    aTable.defaults().left().padTop(NEG).top().left();
    dTable.defaults().right().padTop(NEG).top().right();
    aTable.top();
    dTable.top();
    aRetTable = new Table();
    dRetTable = new Table();
    aRetTable.defaults().left().padTop(NEG).top().left();
    dRetTable.defaults().right().padTop(NEG).top().right();
    leftTable.add(aTable);
    leftTable.row();
    leftTable.add(aRetTable);
    leftTable.top();
    rightTable.add(dTable);
    rightTable.row();
    rightTable.add(dRetTable);
    rightTable.top();

    //aTable.debug();
    //dTable.debug();

    soldierTable = new Table();

    //soldierTable.debug();

    soldierTable.top();
    soldierTable.setBackground(
            new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r)));
    soldierTable.add().width(SidePanel.WIDTH - 2 * PAD).colspan(2);
    soldierTable.row();
    soldierTable.add(leftTable).top();
    soldierTable.add(rightTable).top();
    text.add().colspan(4).padBottom(PAD);
    text.row();

    soldierPane = new ScrollPane(soldierTable);
    soldierPane.setScrollbarsOnTop(true);
    soldierPane.setFadeScrollBars(false);
    text.add(soldierPane).colspan(4).top().padTop(0).expand().fill();

    text.row();

    // Soldier's stats
    stats = new Table();
    stats.setVisible(false);

    Label levelSC = new Label("Level:", ls);
    Label expSC = new Label("Exp:", ls);
    Label nextSC = new Label("Next:", ls);
    Label atkSC = new Label("Atk:", ls);
    Label defSC = new Label("Def:", ls);
    Label spdSC = new Label("Spd:", ls);
    Label weaponSC = new Label("Weapon: ", ls);
    Label equipmentSC = new Label("Armor: ", ls);

    nameS = new Label("", ls);
    nameS.setAlignment(0, 0);
    levelS = new Label("", ls);
    expS = new Label("", ls);
    nextS = new Label("", ls);
    atkS = new Label("", ls);
    defS = new Label("", ls);
    spdS = new Label("", ls);
    weaponS = new Label("", ls);
    equipmentS = new Label("", ls);

    stats.defaults().left().padTop(NEG);
    stats.add(nameS).colspan(4).width(SidePanel.WIDTH - PAD * 2).fillX().expandX().padBottom(MINI_PAD);
    stats.row();
    stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2);
    stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2);
    stats.row();
    stats.add(levelSC);
    stats.add(levelS);
    stats.add(atkSC).padLeft(PAD);
    stats.add(atkS);
    stats.row();
    stats.add(expSC);
    stats.add(expS);
    stats.add(defSC).padLeft(PAD);
    stats.add(defS);
    stats.row();
    stats.add(nextSC);
    stats.add(nextS);
    stats.add(spdSC).padLeft(PAD);
    stats.add(spdS);
    stats.row();
    stats.add(weaponSC).colspan(2).padLeft(MINI_PAD).padTop(0);
    stats.add(weaponS).colspan(2).padTop(0);
    stats.row();
    stats.add(equipmentSC).colspan(2).padLeft(MINI_PAD).padTop(0).top();
    stats.add(equipmentS).colspan(2).padTop(0);

    //stats.debug();

    text.add(stats).colspan(4).padTop(PAD);

    this.addTopTable(text);

    this.setButton(1, "Retreat!");
}

From source file:kyle.game.besiege.panels.PanelBattle.java

License:Open Source License

@Override
public void resize() { // problem with getting scroll bar to appear...
    Cell cell = text.getCell(soldierPane);
    cell.height(panel.getHeight() - DESC_HEIGHT).setWidget(null);
    soldierPane = new ScrollPane(soldierTable);
    soldierPane.setHeight(panel.getHeight() - DESC_HEIGHT);
    soldierPane.setScrollingDisabled(true, false);
    soldierPane.setFadeScrollBars(false);
    soldierPane.setScrollbarsOnTop(true);
    cell.setWidget(soldierPane);//from   w  w  w.j a v a 2s  .  c o m
    super.resize();
}