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

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

Introduction

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

Prototype

public Container() 

Source Link

Document

Creates a container with no actor.

Usage

From source file:com.andgate.ikou.view.LevelSelectScreen.java

License:Open Source License

private Table buildFloorSelectTable() {
    final Table floorSelectTable = new Table();

    final LabelStyle floorProgressStyle = new LabelStyle(game.menuOptionFont, Color.WHITE);
    floorProgressLabel = new ShaderLabel(floorProgressString, floorProgressStyle, game.fontShader);

    final LabelStyle floorsSelectLabelStyle = new LabelStyle(game.menuTitleFont, Color.CYAN);
    final ShaderLabel floorSelectLabel = new ShaderLabel(SELECT_FLOOR_HEADER, floorsSelectLabelStyle,
            game.fontShader);/*from  w w w. j a  va  2s. c om*/
    final ShaderLabel noLevelSelected = new ShaderLabel(SELECT_LEVEL_MESSAGE, floorProgressStyle,
            game.fontShader);

    previewContainer = new Container();

    if (levelNameList.getSelectedIndex() == -1)
        previewContainer.setActor(noLevelSelected);

    float length = (Gdx.graphics.getWidth() < Gdx.graphics.getHeight()) ? Gdx.graphics.getWidth()
            : Gdx.graphics.getHeight();

    length *= 0.70f;
    previewContainer.size(length);

    floorSelectTable.add(floorSelectLabel).row();
    floorSelectTable.add(floorProgressLabel).row();
    floorSelectTable.add(previewContainer);

    return floorSelectTable;
}

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

License:Apache License

public TabPanel(Skin skin) {
    super(skin);/* w ww  .ja  v  a  2  s  .com*/
    this.skin = skin;
    buttonGroup = new ButtonGroup<Button>();
    header = new HorizontalGroup();
    body = new Container<Actor>();
    tabs = new ArrayList<Tab>();

    buttonGroup.setMaxCheckCount(1);
    buttonGroup.setMinCheckCount(1);
    buttonGroup.setUncheckLast(true);

    add(header).expandX().fillX().left();
    row();
    add(body).expand().fill();

    body.fill();
}

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

License:Apache License

/**
 * Create a {@link TabPane} with the specified style.
 * /*from w w  w  .  j  a va 2s.c  o m*/
 * @param isHorizontal set tabs
 * @param skin the skin to use for style
 * @param styleName the name of the style to use
 */
public TabPane(TabPosition tabPos, Skin skin, String styleName) {
    super(skin);

    tabs = new Array<Tab>();

    setStyle(skin.get(styleName, TabPaneStyle.class));

    buttonGroup = new ButtonGroup();
    if (tabPos == TabPosition.TOP || tabPos == TabPosition.BOTTOM) {
        tabGroup = new HorizontalGroup();
    } else {
        tabGroup = new VerticalGroup().fill();
    }

    container = new Container<TabContainer>();
    container.fill();
    this.left().top();

    if (tabPos == TabPosition.TOP) {
        addTabs(tabPos);
        this.row();
        addBody();
    } else if (tabPos == TabPosition.BOTTOM) {
        addBody();
        this.row();
        addTabs(tabPos);
    } else if (tabPos == TabPosition.LEFT) {
        addTabs(tabPos);
        addBody();
    } else if (tabPos == TabPosition.RIGHT) {
        addBody();
        addTabs(tabPos);
    }
}

From source file:com.mbrlabs.mundus.ui.modules.menu.MundusMenuBar.java

License:Apache License

@Override
public Table getTable() {
    VisTable root = new VisTable();
    root.setBackground("menu-bg");
    Table menuTable = super.getTable();

    VisImage icon = new VisImage(new Texture(Gdx.files.internal("ui/menu_icon.png")));
    root.add(icon).center().left().pad(5);
    root.add(menuTable).expand().fill().left().center().row();
    Container sep = new Container();
    sep.setBackground(VisUI.getSkin().getDrawable("separator-green"));
    root.add(sep).expandX().fillX().height(1).colspan(2).row();

    return root;/* w  ww.ja va 2 s. co m*/
}

From source file:com.pucpr.game.states.game.basic.Conversation.java

public void showMessage() {
    if (!finished && !aborted) {
        startedMessage = System.currentTimeMillis();
        waitMessageWithoutMessage = null;
        final Container container = new Container();
        final Table table = new Table(info.getGameState().getManager().getSkin());
        container.setActor(table);//from  w ww.j  a  v  a  2 s  .  c  om
        container.setOrigin(Align.topLeft);
        table.row().align(Align.left);

        if (currentMessage.getImage() != null) {
            final Texture img = currentMessage.getImage();
            table.add(new Image(img)).center();
        } else {
            final TextButton button = new TextButton(currentMessage.getObject().getName(), table.getSkin());
            button.setWidth(150);
            table.add(button).left();
            table.row().align(Align.left);
        }

        final TextButton button = new TextButton(currentMessage.getMessage(), table.getSkin());
        button.setWidth(150);
        table.add(button).left();

        table.setWidth(150);
        table.setHeight(100);
        table.pad(0).defaults().expandX().space(0);
        container.setWidth(250f);
        container.setHeight(100f);
        container.setX((Gdx.graphics.getWidth() / 2) - 100);
        container.setY(500);

        currentMessage.setActor(container);
        currentMessage.doAction();

        final Stage stage = info.getGameState().getStage();
        stage.addActor(container);
    }
}

From source file:com.pucpr.game.states.game.basic.ScreenInfo.java

public void showTimeOut(Long timeOut) {
    if (timeOut != null) {
        this.timeOut = timeOut;
        this.showTimeOut = true;
        final Container container = new Container();
        final Table table = new Table(gameState.getManager().getSkin());

        container.setActor(table);//from   ww w.ja va2  s  .  co  m
        container.setOrigin(Align.topLeft);

        table.row().align(Align.left);

        timeOutInfo = new TextButton("", table.getSkin());
        timeOutInfo.setWidth(Gdx.graphics.getWidth());
        table.add(timeOutInfo).left();
        timeOutInfo.setText(String.valueOf(timeOut));

        table.setWidth(Gdx.graphics.getWidth());
        table.setHeight(Gdx.graphics.getWidth());
        table.pad(0).defaults().expandX().space(0);
        container.setWidth(200f);
        container.setHeight(50f);

        final Stage stage = gameState.getStage();

        container.setX((Gdx.graphics.getWidth()) - 300);
        container.setY(500);
        stage.addActor(container);
        timeOutContainer = container;

        lastTimeOutMili = System.currentTimeMillis();
    } else {
        hideTimeOut();
    }

}

From source file:com.pucpr.game.states.game.basic.ScreenInfo.java

/**
 * Show image on center of screen by the configured time
 *
 * @param path/*from  ww  w .  j av  a 2s.c om*/
 * @param ms
 */
public void showImage(String path, long ms) {
    this.timeOutImage = ms;
    final Container container = new Container();
    final Table table = new Table(gameState.getManager().getSkin());

    container.setActor(table);
    container.setOrigin(Align.topLeft);

    table.row().align(Align.left);

    final Image image = new Image(manager.getResourceLoader().getTexture(path));
    table.add(image).left();

    table.setWidth(Gdx.graphics.getWidth());
    table.setHeight(Gdx.graphics.getWidth());
    table.pad(0).defaults().expandX().space(0);

    container.setWidth(Gdx.graphics.getWidth());
    container.setHeight(Gdx.graphics.getHeight());

    table.setWidth(Gdx.graphics.getWidth());
    table.setHeight(Gdx.graphics.getHeight());

    //        container.setX(0 - (Gdx.graphics.getWidth() / 2) + 60);
    //        container.setY((Gdx.graphics.getWidth() / 2) - 20);
    final Stage stage = gameState.getStage();

    //        container.setX();
    //        container.setY(500);
    stage.addActor(container);
    imageContainer = container;
    lastImageMili = System.currentTimeMillis();
    showImage = true;
}

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

License:Open Source License

public void populate() {
    content.clear();/*from w ww .j  a va 2s .c  om*/
    content.defaults().padLeft(10.0f);

    Image cursor = new Image(skin.getDrawable("color-picker"));
    cursor.setTouchable(Touchable.enabled);
    Image hueKnob = new Image(skin, "color-scale");
    hueKnob.setTouchable(Touchable.enabled);
    Image hueKnob2 = new Image(skin, "color-scale-flipped");
    hueKnob2.setTouchable(Touchable.enabled);
    Image alphaKnob = new Image(skin, "color-scale");
    alphaKnob.setTouchable(Touchable.enabled);
    Image alphaKnob2 = new Image(skin, "color-scale-flipped");
    alphaKnob2.setTouchable(Touchable.enabled);

    Container selectedColorCont = new Container();
    selectedColorCont.setBackground(skin.getDrawable("white"));
    selectedColorCont.setColor(selectedColor);

    Vector3 v = rgbToHsb(selectedColor.r, selectedColor.g, selectedColor.b);

    Spinner greenSpinner, blueSpinner, alphaSpinner, hueSpinner, saturationSpinner, brightnessSpinner;

    hueSpinner = new Spinner(v.x * 359.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    hueSpinner.setMinimum(0.0);
    hueSpinner.setMaximum(359.0);
    hueSpinner.getTextField().addListener(main.getIbeamListener());
    hueSpinner.getButtonMinus().addListener(main.getHandListener());
    hueSpinner.getButtonPlus().addListener(main.getHandListener());

    saturationSpinner = new Spinner(v.y * 100.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    saturationSpinner.setMinimum(0.0);
    saturationSpinner.setMaximum(100.0);
    saturationSpinner.getTextField().addListener(main.getIbeamListener());
    saturationSpinner.getButtonMinus().addListener(main.getHandListener());
    saturationSpinner.getButtonPlus().addListener(main.getHandListener());

    brightnessSpinner = new Spinner(v.z * 100.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    brightnessSpinner.setMinimum(0.0);
    brightnessSpinner.setMaximum(100.0);
    brightnessSpinner.getTextField().addListener(main.getIbeamListener());
    brightnessSpinner.getButtonMinus().addListener(main.getHandListener());
    brightnessSpinner.getButtonPlus().addListener(main.getHandListener());

    redSpinner = new Spinner(selectedColor.r * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    redSpinner.setMinimum(0.0);
    redSpinner.setMaximum(255.0);
    redSpinner.getTextField().addListener(main.getIbeamListener());
    redSpinner.getButtonMinus().addListener(main.getHandListener());
    redSpinner.getButtonPlus().addListener(main.getHandListener());

    greenSpinner = new Spinner(selectedColor.g * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    greenSpinner.setMinimum(0.0);
    greenSpinner.setMaximum(255.0);
    greenSpinner.getTextField().addListener(main.getIbeamListener());
    greenSpinner.getButtonMinus().addListener(main.getHandListener());
    greenSpinner.getButtonPlus().addListener(main.getHandListener());

    blueSpinner = new Spinner(selectedColor.b * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    blueSpinner.setMinimum(0.0);
    blueSpinner.setMaximum(255.0);
    blueSpinner.getTextField().addListener(main.getIbeamListener());
    blueSpinner.getButtonMinus().addListener(main.getHandListener());
    blueSpinner.getButtonPlus().addListener(main.getHandListener());

    alphaSpinner = new Spinner(selectedColor.a * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    alphaSpinner.setMinimum(0.0);
    alphaSpinner.setMaximum(255.0);
    alphaSpinner.getTextField().addListener(main.getIbeamListener());
    alphaSpinner.getButtonMinus().addListener(main.getHandListener());
    alphaSpinner.getButtonPlus().addListener(main.getHandListener());

    redSpinner.setTransversalNext(greenSpinner.getTextField());
    greenSpinner.setTransversalNext(blueSpinner.getTextField());
    blueSpinner.setTransversalNext(alphaSpinner.getTextField());
    alphaSpinner.setTransversalNext(hueSpinner.getTextField());
    hueSpinner.setTransversalNext(saturationSpinner.getTextField());
    saturationSpinner.setTransversalNext(brightnessSpinner.getTextField());
    brightnessSpinner.setTransversalNext(redSpinner.getTextField());

    redSpinner.setTransversalPrevious(brightnessSpinner.getTextField());
    greenSpinner.setTransversalPrevious(redSpinner.getTextField());
    blueSpinner.setTransversalPrevious(greenSpinner.getTextField());
    alphaSpinner.setTransversalPrevious(blueSpinner.getTextField());
    hueSpinner.setTransversalPrevious(alphaSpinner.getTextField());
    saturationSpinner.setTransversalPrevious(hueSpinner.getTextField());
    brightnessSpinner.setTransversalPrevious(saturationSpinner.getTextField());

    ChangeListener rgbListener = new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            selectedColor.set((float) redSpinner.getValue() / 255.0f, (float) greenSpinner.getValue() / 255.0f,
                    (float) blueSpinner.getValue() / 255.0f, (float) alphaSpinner.getValue() / 255.0f);
            Vector3 v = rgbToHsb(selectedColor.r, selectedColor.g, selectedColor.b);
            hueSpinner.setValue(v.x * 359.0f);
            saturationSpinner.setValue(v.y * 100.0f);
            brightnessSpinner.setValue(v.z * 100.0f);
            selectedColorCont.setColor(selectedColor);

            Color color = hsbToRgb((float) hueSpinner.getValue(), 1.0f, 1.0f);
            gradientS.setCol2(color);
            gradientS.setCol3(color);
            gradientAlpha.setCol3(color);
            gradientAlpha.setCol4(color);
            color = new Color(color);
            color.a = 0.0f;
            gradientAlpha.setCol1(color);
            gradientAlpha.setCol2(color);

            cursor.setX(v.y * SIZE - cursor.getWidth() / 2.0f);
            cursor.setY(v.z * SIZE - cursor.getHeight() / 2.0f);
            hueKnob.setY(v.x * SIZE - hueKnob.getHeight() / 2.0f);
            hueKnob2.setY(hueKnob.getY());
        }
    };
    redSpinner.addListener(rgbListener);
    greenSpinner.addListener(rgbListener);
    blueSpinner.addListener(rgbListener);

    ChangeListener hsbListener = new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Color color = hsbToRgb((float) hueSpinner.getValue(), (float) saturationSpinner.getValue() / 100.0f,
                    (float) brightnessSpinner.getValue() / 100.0f);
            color.a = (float) alphaSpinner.getValue() / 255.0f;
            redSpinner.setValue(color.r * 255.0f);
            greenSpinner.setValue(color.g * 255.0f);
            blueSpinner.setValue(color.b * 255.0f);
            selectedColor.set(color);
            selectedColorCont.setColor(selectedColor);

            color = hsbToRgb((float) hueSpinner.getValue(), 1.0f, 1.0f);
            gradientS.setCol2(color);
            gradientS.setCol3(color);
            gradientAlpha.setCol3(color);
            gradientAlpha.setCol4(color);
            color = new Color(color);
            color.a = 0.0f;
            gradientAlpha.setCol1(color);
            gradientAlpha.setCol2(color);

            cursor.setX((float) saturationSpinner.getValue() / 100.0f * SIZE - cursor.getWidth() / 2.0f);
            cursor.setY((float) brightnessSpinner.getValue() / 100.0f * SIZE - cursor.getHeight() / 2.0f);
            hueKnob.setY((float) hueSpinner.getValue() / 359.0f * SIZE - hueKnob.getHeight() / 2.0f);
            hueKnob2.setY(hueKnob.getY());
        }
    };
    hueSpinner.addListener(hsbListener);
    saturationSpinner.addListener(hsbListener);
    brightnessSpinner.addListener(hsbListener);

    alphaSpinner.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            selectedColor.set((float) redSpinner.getValue() / 255.0f, (float) greenSpinner.getValue() / 255.0f,
                    (float) blueSpinner.getValue() / 255.0f, (float) alphaSpinner.getValue() / 255.0f);
            selectedColorCont.setColor(selectedColor);

            alphaKnob.setY(selectedColor.a * SIZE - alphaKnob.getHeight() / 2.0f);
            alphaKnob2.setY(alphaKnob.getY());
        }
    });

    Table panel = new Table(skin);
    panel.setBackground("color-box");
    Table t = new Table(skin);
    t.setClip(true);
    t.setBackground(gradientSB);
    t.setTouchable(Touchable.enabled);
    cursor.setPosition(v.y * SIZE - cursor.getWidth() / 2.0f, v.z * SIZE - cursor.getHeight() / 2.0f);
    t.addActor(cursor);
    DragListener dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            saturationSpinner.setValue(MathUtils.clamp(x / SIZE * 100.0f, 0, 100));
            brightnessSpinner.setValue(MathUtils.clamp(y / SIZE * 100.0f, 0, 100));
            saturationSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);

    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            saturationSpinner.setValue(MathUtils.clamp(x / SIZE * 100.0f, 0, 100));
            brightnessSpinner.setValue(MathUtils.clamp(y / SIZE * 100.0f, 0, 100));
            saturationSpinner.fire(new ChangeListener.ChangeEvent());

            return false;
        }
    });
    panel.add(t).size(SIZE, SIZE);
    content.add(panel);

    panel = new Table(skin);
    panel.setBackground("color-box");
    t = new Table(skin);
    t.setTouchable(Touchable.enabled);
    t.setClip(true);
    for (GradientDrawable gradient : hueGradient) {
        Container container = new Container();
        container.background(gradient);
        t.add(container).growX().height(50.0f);
        t.row();
    }
    t.addActor(hueKnob);
    t.addActor(hueKnob2);
    hueKnob.setY(v.x * SIZE - hueKnob.getHeight() / 2.0f);
    hueKnob2.setX(30.0f - hueKnob2.getWidth());
    hueKnob2.setY(v.x * SIZE - hueKnob2.getHeight() / 2.0f);
    dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            hueSpinner.setValue(MathUtils.clamp(y / SIZE * 359.0f, 0.0f, 359.0f));

            hueSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);
    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            hueSpinner.setValue(MathUtils.clamp(y / SIZE * 359.0f, 0.0f, 359.0f));

            hueSpinner.fire(new ChangeListener.ChangeEvent());
            return false;
        }

    });
    panel.add(t).minWidth(30.0f).height(SIZE);
    content.add(panel);

    panel = new Table(skin);
    panel.setBackground("color-box");
    t = new Table();
    t.setTouchable(Touchable.enabled);
    t.setBackground(alphaStack);
    t.setClip(true);
    t.addActor(alphaKnob);
    t.addActor(alphaKnob2);
    alphaKnob.setY(selectedColor.a * SIZE - alphaKnob.getHeight() / 2.0f);
    alphaKnob2.setX(30.0f - alphaKnob2.getWidth());
    alphaKnob2.setY(selectedColor.a * SIZE - alphaKnob2.getHeight() / 2.0f);
    dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            alphaSpinner.setValue(MathUtils.clamp(y / SIZE * 255.0f, 0.0f, 255.0f));

            alphaSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);
    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            alphaSpinner.setValue(MathUtils.clamp(y / SIZE * 255.0f, 0.0f, 255.0f));

            alphaSpinner.fire(new ChangeListener.ChangeEvent());
            return false;
        }

    });
    panel.add(t).minWidth(30.0f).height(SIZE);
    content.add(panel);

    t = new Table();
    t.defaults().pad(10.0f);

    Table table = new Table(skin);
    Label label = new Label("new", skin);
    label.setAlignment(Align.center);
    table.add(label).growX();
    table.row();
    Container bg = new Container();
    bg.setBackground(checker);
    Stack stack = new Stack(bg, selectedColorCont);
    panel = new Table(skin);
    panel.setBackground("color-box");
    panel.add(stack).grow();
    table.add(panel).grow();
    if (previousColor != null) {
        Container cont = new Container();
        cont.setBackground(skin.getDrawable("white"));
        cont.setColor(previousColor);
        bg = new Container();
        bg.setBackground(checker);
        stack = new Stack(bg, cont);
        panel.row();
        panel.add(stack).grow();
        table.row();
        label = new Label("current", skin);
        label.setAlignment(Align.center);
        table.add(label).growX();
        t.add(table).minWidth(80.0f).minHeight(150.0f);
    } else {
        t.add(table).minWidth(80.0f).minHeight(100.0f);
    }

    table = new Table();
    TextButton textButton = new TextButton("OK", skin);
    textButton.addListener(main.getHandListener());
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            if (listener != null) {
                listener.handle(new ColorListener.ColorEvent(selectedColor));
            }
            hide();
        }
    });
    table.add(textButton).growX();
    table.row();
    textButton = new TextButton("Cancel", skin);
    textButton.addListener(main.getHandListener());
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            if (listener != null) {
                listener.handle(new ColorListener.ColorEvent(null));
            }
            hide();
        }
    });
    table.add(textButton).growX().padTop(10.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("R", skin, "required");
    table.add(label);
    table.add(redSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("H", skin, "required");
    table.add(label);
    table.add(hueSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("G", skin, "required");
    table.add(label);
    table.add(greenSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("S", skin, "required");
    table.add(label);
    table.add(saturationSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("B", skin, "required");
    table.add(label);
    table.add(blueSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("B", skin, "required");
    table.add(label);
    table.add(brightnessSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("A", skin, "required");
    table.add(label);
    t.add(table);
    table.add(alphaSpinner).padLeft(10.0f).minWidth(90.0f);
    content.add(t).growY();
}

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

License:Open Source License

private void refreshDrawableDisplay() {
    contentGroup.clear();//www.j a v  a2 s  .  c  o  m

    TooltipManager manager = new TooltipManager();
    manager.animations = false;
    manager.initialTime = .4f;
    manager.resetTime = 0.0f;
    manager.subsequentTime = 0.0f;
    manager.hideAll();
    manager.instant();

    if (drawables.size == 0) {
        Label label = new Label("No drawables have been added!", getSkin());
        contentGroup.addActor(label);
    }

    for (DrawableData drawable : drawables) {
        Button drawableButton;

        if (property != null) {
            drawableButton = new Button(getSkin(), "color-base");
            drawableButton.addListener(new ChangeListener() {
                @Override
                public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                    result(drawable);
                    hide();
                }
            });
            drawableButton.addListener(main.getHandListener());
        } else {
            drawableButton = new Button(getSkin(), "color-base-static");
        }
        contentGroup.addActor(drawableButton);

        Table table = new Table();
        drawableButton.add(table).width(sizes[MathUtils.floor(zoomSlider.getValue())])
                .height(sizes[MathUtils.floor(zoomSlider.getValue())]);

        ClickListener fixDuplicateTouchListener = new ClickListener() {
            @Override
            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
                event.setBubbles(false);
                return super.touchDown(event, x, y, pointer, button);
            }
        };

        //color wheel
        Button button = new Button(getSkin(), "colorwheel");
        button.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                newTintedDrawable(drawable);
                event.setBubbles(false);
            }
        });
        button.addListener(fixDuplicateTouchListener);
        if (property == null) {
            button.addListener(main.getHandListener());
        }
        table.add(button);

        //swatches
        button = new Button(getSkin(), "swatches");
        button.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                colorSwatchesDialog(drawable);
                event.setBubbles(false);
            }
        });
        button.addListener(fixDuplicateTouchListener);
        if (property == null) {
            button.addListener(main.getHandListener());
        }
        table.add(button);

        //rename (ONLY FOR TINTS)
        if (drawable.tint != null || drawable.tintName != null) {
            button = new Button(getSkin(), "settings-small");
            button.addListener(new ChangeListener() {
                @Override
                public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                    renameDrawableDialog(drawable);
                    event.setBubbles(false);
                }
            });
            button.addListener(fixDuplicateTouchListener);
            if (property == null) {
                button.addListener(main.getHandListener());
            }
            table.add(button);
        } else {
            table.add();
        }

        //delete
        button = new Button(getSkin(), "delete-small");
        button.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                deleteDrawable(drawable);
                event.setBubbles(false);
            }
        });
        button.addListener(fixDuplicateTouchListener);
        if (property == null) {
            button.addListener(main.getHandListener());
        }
        table.add(button).expandX().right();

        //preview
        table.row();
        Container bg = new Container();
        bg.setClip(true);
        bg.setBackground(getSkin().getDrawable("white"));
        bg.setColor(drawable.bgColor);
        Image image = new Image(drawablePairs.get(drawable));
        if (MathUtils.isZero(zoomSlider.getValue())) {
            image.setScaling(Scaling.fit);
            bg.fill(false);
        } else {
            image.setScaling(Scaling.stretch);
            bg.fill();
        }
        bg.setActor(image);
        table.add(bg).colspan(4).grow();

        //name
        table.row();
        Label label = new Label(drawable.name, getSkin());
        label.setEllipsis("...");
        label.setEllipsis(true);
        label.setAlignment(Align.center);
        table.add(label).colspan(4).growX().width(sizes[MathUtils.floor(zoomSlider.getValue())]);

        //Tooltip
        TextTooltip toolTip = new TextTooltip(drawable.name, manager, getSkin());
        label.addListener(toolTip);
    }
}

From source file:de.bitbrain.craft.ui.widgets.TabWidget.java

License:Open Source License

/**
 * Registers a new tab with the given icon and the target actor
 * //from w w  w.ja  v a  2  s  .  c  o  m
 * @param id
 *          tab id
 * @param icon
 *          tab icon to show
 * @param actor
 *          Content actor
 */
public void addTab(String id, String iconId, Actor content) {
    if (!id.isEmpty() && !tabs.containsKey(id)) {
        final Tab tab = new Tab(id, content, generateTabStyle(iconId, false), generateTabStyle(iconId, true));
        tabs.put(id, tab);
        tabGroup.addActor(tab);
        Container<?> padding = new Container<Actor>();
        padding.height(15f);
        tabGroup.addActor(padding);
        setTab(id);
        tab.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {
                super.clicked(event, x, y);
                if (activeTabId != tab.getId()) {
                    SoundUtils.play(Assets.SND_TAB, 0.7f, 0.9f);
                }
                setTab(tab.getId());
            }
        });
    }
}