Example usage for com.badlogic.gdx.scenes.scene2d.ui Cell expandX

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

Introduction

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

Prototype

Integer expandX

To view the source code for com.badlogic.gdx.scenes.scene2d.ui Cell expandX.

Click Source Link

Usage

From source file:at.highstreeto.xnllayoutparser.element.CellParser.java

License:Apache License

@Override
public Actor load(Element element, LayoutParserContext context) throws LayoutParseException {
    Table table = (Table) context.getActorByElement(element.getParent().getParent());

    Element child = element.getChild(0);
    Actor actor = context.getParsers().getParserByElementName(child).load(child, context);
    Cell<?> cell = table.add(actor);

    if (element.getAttributes().containsKey("fill")) {
        if ("x".equals(element.getAttribute("fill"))) {
            cell.fillX();//from   w w  w .  j  a va  2 s .  c  o  m
        } else if ("y".equals(element.getAttribute("fill"))) {
            cell.fillY();
        } else if ("xy".equals(element.getAttribute("fill"))) {
            cell.fill();
        } else {
            throw new LayoutParseException();
        }
    }
    if (element.getAttributes().containsKey("expand")) {
        if ("x".equals(element.getAttribute("expand"))) {
            cell.expandX();
        } else if ("y".equals(element.getAttribute("expand"))) {
            cell.expandY();
        } else if ("xy".equals(element.getAttribute("expand"))) {
            cell.expand();
        } else {
            throw new LayoutParseException();
        }
    }
    // Combination of c (Center), t (Top), b (Bottom), l (Left), r (Right)
    if (element.getAttributes().containsKey("align")) {
        String[] parts = element.getAttribute("align").split(" ");
        for (String i : parts) {
            if ("c".equals(i)) {
                cell.center();
            } else if ("t".equals(i)) {
                cell.top();
            } else if ("b".equals(i)) {
                cell.bottom();
            } else if ("l".equals(i)) {
                cell.left();
            } else if ("r".equals(i)) {
                cell.right();
            }
        }
    }
    // Padding - Format: Top Left Bottom Right
    if (element.getAttributes().containsKey("pad")) {
        String[] pads = element.getAttribute("pad").split(" ");
        if (pads.length == 4) {
            float top = Float.parseFloat(pads[0]);
            float right = Float.parseFloat(pads[1]);
            float bottom = Float.parseFloat(pads[2]);
            float left = Float.parseFloat(pads[3]);

            cell.pad(top, left, bottom, right);
        } else {
            throw new LayoutParseException();
        }
    }
    if (element.getAttributes().containsKey("colspan")) {
        int colspan = Integer.parseInt(element.getAttribute("colspan"));
        cell.colspan(colspan);
    }
    return null;
}

From source file:com.badlogic.gdx.ai.tests.utils.scene2d.TabbedPane.java

License:Apache License

private void initialize() {

    setTouchable(Touchable.enabled);// w  ww.  j ava  2 s.com
    tabTitleTable = new Table();
    tabBodyStack = new Stack();
    selectedIndex = -1;

    // Create 1st row
    Cell<?> leftCell = add(new Image(style.titleBegin));
    Cell<?> midCell = add(tabTitleTable);
    Cell<?> rightCell = add(new Image(style.titleEnd));
    switch (tabTitleAlign) {
    case Align.left:
        leftCell.width(((Image) leftCell.getActor()).getWidth()).bottom();
        midCell.left();
        rightCell.expandX().fillX().bottom();
        break;
    case Align.right:
        leftCell.expandX().fillX().bottom();
        midCell.right();
        rightCell.width(((Image) rightCell.getActor()).getWidth()).bottom();
        break;
    case Align.center:
        leftCell.expandX().fillX().bottom();
        midCell.center();
        rightCell.expandX().fillX().bottom();
        break;
    default:
        throw new IllegalArgumentException("TabbedPane align must be one of left, center, right");
    }

    // Create 2nd row
    row();
    Table t = new Table();
    t.setBackground(style.bodyBackground);
    t.add(tabBodyStack);
    add(t).colspan(3).expand().fill();
}

From source file:com.gdx.extension.ui.tab.TabPane.java

License:Apache License

private void addTabs(TabPosition tabPos) {
    Cell<WidgetGroup> _cell = super.add(tabGroup).left();
    if (tabPos == TabPosition.TOP || tabPos == TabPosition.BOTTOM) {
        _cell.expandX().fillX();
    } else {/*from  w  w w . j  a  v a 2  s. co  m*/
        _cell.expandY().fillY();
    }

}

From source file:com.kotcrab.vis.ui.building.CenteredTableBuilder.java

License:Apache License

@Override
protected void fillTable(final Table table) {
    final IntArray rowSizes = getRowSizes();
    final int widgetsInRow = getLowestCommonMultiple(rowSizes);

    for (int rowIndex = 0, widgetIndex = 0; rowIndex < rowSizes.size; rowIndex++) {
        final int rowSize = rowSizes.get(rowIndex);
        final int currentWidgetColspan = widgetsInRow / rowSize;
        boolean isFirst = shouldExpand(rowSize);

        for (final int totalWidgetsBeforeRowEnd = widgetIndex
                + rowSize; widgetIndex < totalWidgetsBeforeRowEnd; widgetIndex++) {
            final Cell<?> cell = getWidget(widgetIndex).buildCell(table, getDefaultWidgetPadding())
                    .colspan(currentWidgetColspan);
            // Keeping widgets together - expanding X for first and last widget, setting alignments:
            if (isFirst) {
                isFirst = false;// w w w . j a  va  2  s. c o m
                cell.expandX().right();
            } else if (isLast(widgetIndex, rowSize, totalWidgetsBeforeRowEnd)) {
                cell.expandX().left();
            }
        }
        table.row();
    }
}

From source file:com.lyeeedar.UI.TabPanel.java

License:Apache License

private void initialize() {

    setTouchable(Touchable.enabled);/*from   w w  w .j a v a  2s .c  om*/
    tabTitleTable = new Table();
    tabBodyStack = new Stack();
    selectedIndex = -1;

    // Create 1st row
    Cell<?> leftCell = add(new Image(style.titleBegin));
    Cell<?> midCell = add(tabTitleTable);
    Cell<?> rightCell = add(new Image(style.titleEnd));
    switch (tabTitleAlign) {
    case Align.left:
        leftCell.width(leftCell.getActor().getWidth()).bottom();
        midCell.left();
        rightCell.expandX().fillX().bottom();
        break;
    case Align.right:
        leftCell.expandX().fillX().bottom();
        midCell.right();
        rightCell.width(rightCell.getActor().getWidth()).bottom();
        break;
    case Align.center:
        leftCell.expandX().fillX().bottom();
        midCell.center();
        rightCell.expandX().fillX().bottom();
        break;
    default:
        throw new IllegalArgumentException("TabbedPane align must be one of left, center, right");
    }

    // Create 2nd row
    row();
    Table t = new Table();
    t.setBackground(style.bodyBackground);
    t.add(tabBodyStack).expand().fill();
    add(t).colspan(3).expand().fill();
}

From source file:Roguelike.UI.TabPanel.java

License:Apache License

private void initialize() {

    setTouchable(Touchable.enabled);//ww  w  .ja va  2  s.c  o m
    tabTitleTable = new Table();
    tabBodyStack = new Stack();
    selectedIndex = -1;

    // Create 1st row
    Cell<?> leftCell = add(new Image(style.titleBegin));
    Cell<?> midCell = add(tabTitleTable);
    Cell<?> rightCell = add(new Image(style.titleEnd));
    switch (tabTitleAlign) {
    case Align.left:
        leftCell.width(((Image) leftCell.getActor()).getWidth()).bottom();
        midCell.left();
        rightCell.expandX().fillX().bottom();
        break;
    case Align.right:
        leftCell.expandX().fillX().bottom();
        midCell.right();
        rightCell.width(((Image) rightCell.getActor()).getWidth()).bottom();
        break;
    case Align.center:
        leftCell.expandX().fillX().bottom();
        midCell.center();
        rightCell.expandX().fillX().bottom();
        break;
    default:
        throw new IllegalArgumentException("TabbedPane align must be one of left, center, right");
    }

    // Create 2nd row
    row();
    Table t = new Table();
    t.setBackground(style.bodyBackground);
    t.add(tabBodyStack).expand().fill();
    add(t).colspan(3).expand().fill();
}