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, ScrollPaneStyle style) 

Source Link

Usage

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

License:Open Source License

public DialogColors(final Skin skin, String styleName, StyleProperty styleProperty,
        boolean selectingForTintedDrawable, DialogFactory dialogFactory, JsonData jsonData,
        ProjectData projectData, AtlasData atlasData, Main main, DialogColorsListener listener) {
    super("", skin, styleName);

    this.dialogFactory = dialogFactory;
    this.jsonData = jsonData;
    this.projectData = projectData;
    this.atlasData = atlasData;
    this.main = main;

    this.listener = listener;
    this.skin = skin;
    this.styleProperty = styleProperty;
    this.selectingForTintedDrawable = selectingForTintedDrawable;
    colors = jsonData.getColors();/* w w w.  j  a  v  a  2  s. c  om*/
    getContentTable().defaults().expandX();
    if (styleProperty != null) {
        Label label = new Label("Select a color...", skin, "title");
        label.setAlignment(Align.center);
        getContentTable().add(label);
        getContentTable().row();
    } else if (selectingForTintedDrawable) {
        Label label = new Label("Select a color for tinted drawable...", skin, "title");
        label.setAlignment(Align.center);
        getContentTable().add(label);
        getContentTable().row();
    } else {
        Label label = new Label("Colors", skin, "title");
        label.setAlignment(Align.center);
        getContentTable().add(label);
        getContentTable().row();
    }

    Table table = new Table();

    table.defaults().pad(2.0f);

    table.add(new Label("Sort by: ", skin)).padLeft(20.0f);
    selectBox = new SelectBox<String>(skin);
    selectBox.setItems(new String[] { "A-Z", "Z-A" });
    selectBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            sortBySelectedMode();
        }
    });
    selectBox.addListener(main.getHandListener());
    table.add(selectBox);

    TextButton imageButton = new TextButton("New Color", skin, "new");
    imageButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            showColorPicker();
        }
    });
    imageButton.addListener(main.getHandListener());
    table.add(imageButton).expandX().left();
    getContentTable().add(table).left().expandX();
    getContentTable().row();
    colorTable = new Table();
    populate();

    table = new Table();
    table.add(colorTable).pad(5.0f);
    scrollPane = new ScrollPane(table, skin);
    scrollPane.setFadeScrollBars(false);
    getContentTable().add(scrollPane).grow();

    if (styleProperty != null) {
        button("Clear Color", true);
        button("Cancel", false);
        getButtonTable().getCells().get(0).getActor().addListener(main.getHandListener());
        getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
    } else if (selectingForTintedDrawable) {
        button("Cancel", false);
        getButtonTable().getCells().get(0).getActor().addListener(main.getHandListener());
    } else {
        button("Close", false);
        getButtonTable().getCells().get(0).getActor().addListener(main.getHandListener());
    }
    getButtonTable().padBottom(15.0f);
    key(Keys.ESCAPE, false);
}

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

License:Open Source License

public void populate() {
    getContentTable().clear();/*  w  w w. j  av a2s. c o m*/

    getButtonTable().padBottom(15.0f);

    if (property == null) {
        getContentTable().add(new Label("Drawables", getSkin(), "title"));
    } else {
        getContentTable().add(new Label("Select a Drawables", getSkin(), "title"));
    }

    getContentTable().row();
    Table table = new Table(getSkin());
    table.defaults().pad(10.0f);
    getContentTable().add(table).growX();

    table.add("Sort by:");

    sortSelectBox = new SelectBox(getSkin());
    sortSelectBox.setItems("A-Z", "Z-A", "Oldest", "Newest");
    sortSelectBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            sortBySelectedMode();
        }
    });
    sortSelectBox.addListener(main.getHandListener());
    table.add(sortSelectBox);

    TextButton textButton = new TextButton("Add Drawable", getSkin(), "new");
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
            newDrawableDialog();
        }
    });
    textButton.addListener(main.getHandListener());
    table.add(textButton);

    table.add(new Label("Zoom:", getSkin())).right().expandX();
    zoomSlider = new Slider(0, 3, 1, false, getSkin());
    zoomSlider.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            refreshDrawableDisplay();
        }
    });
    zoomSlider.addListener(main.getHandListener());
    table.add(zoomSlider);

    getContentTable().row();
    contentGroup = new HorizontalGroup();
    contentGroup.center().wrap(true).space(5.0f).wrapSpace(5.0f).rowAlign(Align.left);
    scrollPane = new ScrollPane(contentGroup, getSkin());
    scrollPane.setFadeScrollBars(false);
    scrollPane.setFlickScroll(false);
    getContentTable().add(scrollPane).grow();
    sortBySelectedMode();

    getContentTable().row();
    if (property != null) {
        button("Clear Drawable", true);
        button("Cancel", false);
        getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
        getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
    } else {
        button("Close", false);
        getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
    }
}

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

License:Open Source License

public DialogFonts(final Skin skin, String styleName, StyleProperty styleProperty, JsonData jsonData,
        ProjectData projectData, AtlasData atlasData, Main main, EventListener listener) {
    super("", skin, styleName);

    this.jsonData = jsonData;
    this.projectData = projectData;
    this.atlasData = atlasData;
    this.main = main;

    this.listener = listener;
    this.skin = skin;
    this.styleProperty = styleProperty;
    fonts = jsonData.getFonts();//from  w ww  .j a  v a 2  s. c  o  m
    drawables = atlasData.getDrawables();

    fontMap = new ObjectMap<>();
    produceAtlas();

    filesDroppedListener = (Array<FileHandle> files) -> {
        Iterator<FileHandle> iter = files.iterator();
        while (iter.hasNext()) {
            FileHandle file = iter.next();
            if (file.isDirectory() || !file.name().toLowerCase().endsWith(".fnt")) {
                iter.remove();
            }
        }

        if (files.size > 0) {
            fontNameDialog(files, 0);
        }
    };

    main.getDesktopWorker().addFilesDroppedListener(filesDroppedListener);

    setFillParent(true);

    if (styleProperty != null) {
        getContentTable().add(new Label("Select a Font...", skin, "title"));
        getContentTable().row();
    } else {
        getContentTable().add(new Label("Fonts", skin, "title"));
        getContentTable().row();
    }

    Table table = new Table();
    table.defaults().pad(2.0f);

    table.add(new Label("Sort by: ", skin)).padLeft(20.0f);
    selectBox = new SelectBox<>(skin);
    selectBox.setItems(new String[] { "A-Z", "Z-A", "Oldest", "Newest" });
    selectBox.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            sortBySelectedMode();
        }
    });
    selectBox.addListener(main.getHandListener());
    table.add(selectBox);

    TextButton imageButton = new TextButton("New Font", skin, "new");
    imageButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
            newFontDialog();
        }
    });
    imageButton.addListener(main.getHandListener());
    table.add(imageButton).expandX();
    getContentTable().add(table).expandX().left();
    getContentTable().row();

    key(Keys.ESCAPE, false);
    if (styleProperty != null) {
        button("Clear Font", true);
        button("Cancel", false);
        getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
        getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
    } else {
        button("Close", false);
        getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
    }

    getButtonTable().padBottom(15.0f);

    fontsTable = new Table();

    table = new Table();
    table.add(fontsTable).pad(5.0f);
    scrollPane = new ScrollPane(table, skin);
    scrollPane.setFadeScrollBars(false);
    getContentTable().add(scrollPane).grow();
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

private void addStyleProperties(final Table left) {
    Label label = new Label("Style Properties", getSkin(), "title");
    left.add(label);//from  w  w  w  .  j  av  a2s.c  o  m

    left.row();
    Table table = new Table();
    table.defaults().padLeft(10.0f).padRight(10.0f).growX();
    stylePropertiesScrollPane = new ScrollPane(table, getSkin());
    stylePropertiesScrollPane.setFadeScrollBars(false);
    stylePropertiesScrollPane.setFlickScroll(false);
    stylePropertiesScrollPane.addListener(scrollPaneListener);
    stage.setScrollFocus(stylePropertiesScrollPane);
    left.add(stylePropertiesScrollPane).grow().padTop(10.0f).padBottom(10.0f);

    //gather all scrollPaneStyles
    Array<StyleData> scrollPaneStyles = main.getProjectData().getJsonData().getClassStyleMap()
            .get(ScrollPane.class);

    //gather all listStyles
    Array<StyleData> listStyles = main.getProjectData().getJsonData().getClassStyleMap().get(List.class);

    //gather all labelStyles
    Array<StyleData> labelStyles = main.getProjectData().getJsonData().getClassStyleMap().get(Label.class);

    if (styleProperties != null) {
        for (StyleProperty styleProperty : styleProperties) {

            table.row();
            if (styleProperty.type == Color.class) {
                BrowseField browseField;
                if (styleProperty.optional) {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfColorStyle);
                } else {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfColorStyleR);
                }
                browseField.addListener(main.getHandListener());
                table.add(browseField).padTop(20.0f);

                browseField.addListener(new StylePropertyChangeListener(styleProperty, browseField));
            } else if (styleProperty.type == BitmapFont.class) {
                BrowseField browseField;
                if (styleProperty.optional) {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfFontStyle);
                } else {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfFontStyleR);
                }
                browseField.addListener(main.getHandListener());
                table.add(browseField).padTop(20.0f);

                browseField.addListener(new StylePropertyChangeListener(styleProperty, browseField));
            } else if (styleProperty.type == Drawable.class) {
                BrowseField browseField;
                if (styleProperty.optional) {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfDrawableStyle);
                } else {
                    browseField = new BrowseField((String) styleProperty.value, styleProperty.name,
                            bfDrawableStyleR);
                }
                browseField.addListener(main.getHandListener());
                table.add(browseField).padTop(20.0f);

                browseField.addListener(new StylePropertyChangeListener(styleProperty, browseField));
            } else if (styleProperty.type == Float.TYPE) {
                if (styleProperty.optional) {
                    label = new Label(styleProperty.name, getSkin());
                } else {
                    label = new Label(styleProperty.name, getSkin(), "required");
                }
                table.add(label).padTop(20.0f).fill(false).expand(false, false);

                table.row();
                Spinner spinner = new Spinner((Double) styleProperty.value, 1.0, false,
                        Spinner.Orientation.HORIZONTAL, spinnerStyle);
                spinner.getTextField().addListener(main.getIbeamListener());
                spinner.getButtonMinus().addListener(main.getHandListener());
                spinner.getButtonPlus().addListener(main.getHandListener());
                table.add(spinner);

                spinner.addListener(new StylePropertyChangeListener(styleProperty, spinner));
            } else if (styleProperty.type == ScrollPaneStyle.class) {
                if (styleProperty.optional) {
                    label = new Label(styleProperty.name, getSkin());
                } else {
                    label = new Label(styleProperty.name, getSkin(), "required");
                }
                table.add(label).padTop(20.0f).fill(false).expand(false, false);

                table.row();
                SelectBox<StyleData> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(scrollPaneStyles);
                selectBox.addListener(main.getHandListener());

                if (styleProperty.value != null) {
                    String name = ((String) styleProperty.value);
                    int index = 0;
                    for (StyleData styleData : scrollPaneStyles) {
                        if (styleData.name.equals(name)) {
                            break;
                        } else {
                            index++;
                        }
                    }
                    if (index < scrollPaneStyles.size) {
                        selectBox.setSelectedIndex(index);
                    }
                }

                table.add(selectBox);

                selectBox.addListener(new StylePropertyChangeListener(styleProperty, selectBox));
            } else if (styleProperty.type == ListStyle.class) {
                if (styleProperty.optional) {
                    label = new Label(styleProperty.name, getSkin());
                } else {
                    label = new Label(styleProperty.name, getSkin(), "required");
                }
                table.add(label).padTop(20.0f).fill(false).expand(false, false);

                table.row();
                SelectBox<StyleData> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(listStyles);
                selectBox.addListener(main.getHandListener());

                if (styleProperty.value != null) {
                    String name = ((String) styleProperty.value);
                    int index = 0;
                    for (StyleData styleData : listStyles) {
                        if (styleData.name.equals(name)) {
                            break;
                        } else {
                            index++;
                        }
                    }
                    if (index < listStyles.size) {
                        selectBox.setSelectedIndex(index);
                    }
                }
                table.add(selectBox);

                selectBox.addListener(new StylePropertyChangeListener(styleProperty, selectBox));
            } else if (styleProperty.type == LabelStyle.class) {
                if (styleProperty.optional) {
                    label = new Label(styleProperty.name, getSkin());
                } else {
                    label = new Label(styleProperty.name, getSkin(), "required");
                }
                table.add(label).padTop(20.0f).fill(false).expand(false, false);

                table.row();
                SelectBox<StyleData> selectBox = new SelectBox<>(getSkin());
                selectBox.setItems(labelStyles);
                selectBox.addListener(main.getHandListener());

                if (styleProperty.value != null) {
                    String name = ((String) styleProperty.value);
                    int index = 0;
                    for (StyleData styleData : labelStyles) {
                        if (styleData.name.equals(name)) {
                            break;
                        } else {
                            index++;
                        }
                    }
                    if (index < labelStyles.size) {
                        selectBox.setSelectedIndex(index);
                    }
                }

                table.add(selectBox);

                selectBox.addListener(new StylePropertyChangeListener(styleProperty, selectBox));
            } else if (styleProperty.type == CustomStyle.class) {
                //todo: implement custom styles...
            }

            table.row();
        }
    }
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

private void addPreview(Table top, InputListener scrollPaneListener) {
    Label label = new Label("Preview", getSkin(), "title");
    top.add(label);//from w  ww.  j a v  a2 s . c om

    top.row();
    previewTable = new Table(getSkin());
    previewTable.setBackground("white");
    ScrollPane scrollPane = new ScrollPane(previewTable, getSkin());
    scrollPane.setFadeScrollBars(false);
    scrollPane.setFlickScroll(false);
    scrollPane.addListener(scrollPaneListener);
    top.add(scrollPane).grow().padTop(10.0f).padBottom(10.0f);

    refreshPreview();
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

private void addPreviewProperties(Table bottom, InputListener scrollPaneListener) {
    Label label = new Label("Preview Properties", getSkin(), "title");
    bottom.add(label);/* ww  w  .j a  v  a 2 s.c o m*/

    bottom.row();
    previewPropertiesTable = new Table();
    previewPropertiesTable.defaults().pad(5.0f);

    ScrollPane scrollPane = new ScrollPane(previewPropertiesTable, getSkin());
    scrollPane.setFadeScrollBars(false);
    scrollPane.setFlickScroll(false);
    scrollPane.addListener(scrollPaneListener);
    bottom.add(scrollPane).grow().padTop(10.0f).padBottom(10.0f);

    refreshPreviewProperties();
}

From source file:com.ray3k.skincomposer.RootTable.java

License:Open Source License

public void refreshPreview() {
    if (previewTable != null) {
        previewTable.clear();//from   w ww  . j  av  a2 s  . com
        previewTable.setColor((Color) previewProperties.get("bgcolor"));

        for (BitmapFont font : previewFonts) {
            font.dispose();
        }

        if (classSelectBox.getSelectedIndex() >= 0) {
            StyleData styleData = getSelectedStyle();
            Class clazz = Main.BASIC_CLASSES[classSelectBox.getSelectedIndex()];

            if (!styleData.hasMandatoryFields()) {
                Label label;
                if (clazz.equals(SelectBox.class)) {
                    label = new Label(
                            "Please fill all mandatory fields\n(Highlighted on the left)\n\nscrollStyle and listStyle\nmust already be defined",
                            getSkin());
                } else if (clazz.equals(TextTooltip.class)) {
                    label = new Label(
                            "Please fill all mandatory fields\n(Highlighted on the left)\n\nlabel must already be defined",
                            getSkin());
                } else {
                    label = new Label("Please fill all mandatory fields\n(Highlighted on the left)", getSkin());
                }
                label.setAlignment(Align.center);
                previewTable.add(label);
            } else if (styleData.hasAllNullFields()) {
                Label label;
                label = new Label(
                        "All fields are empty!\nEmpty classes are not exported\nAdd style properties in the menu to the left",
                        getSkin());
                label.setAlignment(Align.center);
                previewTable.add(label);
            } else {
                Actor widget = null;
                if (clazz.equals(Button.class)) {
                    Button.ButtonStyle style = createPreviewStyle(Button.ButtonStyle.class, styleData);
                    widget = new Button(style);
                    ((Button) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(CheckBox.class)) {
                    CheckBox.CheckBoxStyle style = createPreviewStyle(CheckBox.CheckBoxStyle.class, styleData);
                    widget = new CheckBox("", style);
                    ((CheckBox) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((CheckBox) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ImageButton.class)) {
                    ImageButtonStyle style = createPreviewStyle(ImageButtonStyle.class, styleData);
                    widget = new ImageButton(style);
                    ((ImageButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ImageTextButton.class)) {
                    ImageTextButton.ImageTextButtonStyle style = createPreviewStyle(
                            ImageTextButton.ImageTextButtonStyle.class, styleData);
                    widget = new ImageTextButton("", style);
                    ((ImageTextButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((ImageTextButton) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Label.class)) {
                    LabelStyle style = createPreviewStyle(LabelStyle.class, styleData);
                    widget = new Label("", style);
                    ((Label) widget).setText((String) previewProperties.get("text"));
                } else if (clazz.equals(List.class)) {
                    ListStyle style = createPreviewStyle(ListStyle.class, styleData);
                    widget = new List(style);
                    Array<String> items = new Array<>(((String) previewProperties.get("text")).split("\\n"));
                    ((List) widget).setItems(items);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(ProgressBar.class)) {
                    ProgressBar.ProgressBarStyle style = createPreviewStyle(ProgressBar.ProgressBarStyle.class,
                            styleData);
                    widget = new ProgressBar((float) (double) previewProperties.get("minimum"),
                            (float) (double) previewProperties.get("maximum"),
                            (float) (double) previewProperties.get("increment"),
                            (boolean) previewProperties.get("orientation"), style);
                    ((ProgressBar) widget).setValue((float) (double) previewProperties.get("value"));
                    ((ProgressBar) widget).setDisabled((boolean) previewProperties.get("disabled"));
                } else if (clazz.equals(ScrollPane.class)) {
                    ScrollPaneStyle style = createPreviewStyle(ScrollPaneStyle.class, styleData);
                    Label label = new Label("", getSkin());
                    widget = new ScrollPane(label, style);
                    ((ScrollPane) widget)
                            .setScrollbarsOnTop((boolean) previewProperties.get("scrollbarsOnTop"));
                    ((ScrollPane) widget).setScrollBarPositions(
                            (boolean) previewProperties.get("hScrollBarPosition"),
                            (boolean) previewProperties.get("vScrollBarPosition"));
                    ((ScrollPane) widget).setScrollingDisabled(
                            (boolean) previewProperties.get("hScrollDisabled"),
                            (boolean) previewProperties.get("vScrollDisabled"));
                    ((ScrollPane) widget).setForceScroll((boolean) previewProperties.get("forceHscroll"),
                            (boolean) previewProperties.get("forceVscroll"));
                    ((ScrollPane) widget)
                            .setVariableSizeKnobs((boolean) previewProperties.get("variableSizeKnobs"));
                    ((ScrollPane) widget).setOverscroll((boolean) previewProperties.get("hOverscroll"),
                            (boolean) previewProperties.get("vOverscroll"));
                    ((ScrollPane) widget).setFadeScrollBars((boolean) previewProperties.get("fadeScroll"));
                    ((ScrollPane) widget).setSmoothScrolling((boolean) previewProperties.get("smoothScroll"));
                    ((ScrollPane) widget).setFlickScroll((boolean) previewProperties.get("flickScroll"));
                    ((ScrollPane) widget).setClamp((boolean) previewProperties.get("clamp"));
                    label.setText((String) previewProperties.get("text"));
                } else if (clazz.equals(SelectBox.class)) {
                    SelectBox.SelectBoxStyle style = createPreviewStyle(SelectBox.SelectBoxStyle.class,
                            styleData);
                    widget = new SelectBox(style);
                    ((SelectBox) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    Array<String> items = new Array<>(((String) previewProperties.get("text")).split("\\n"));
                    ((SelectBox) widget).setItems(items);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Slider.class)) {
                    Slider.SliderStyle style = createPreviewStyle(Slider.SliderStyle.class, styleData);
                    widget = new Slider((float) (double) previewProperties.get("minimum"),
                            (float) (double) previewProperties.get("maximum"),
                            (float) (double) previewProperties.get("increment"),
                            (boolean) previewProperties.get("orientation"), style);
                    ((Slider) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(SplitPane.class)) {
                    SplitPane.SplitPaneStyle style = createPreviewStyle(SplitPane.SplitPaneStyle.class,
                            styleData);
                    Label label1 = new Label("", getSkin());
                    Label label2 = new Label("", getSkin());
                    widget = new SplitPane(label1, label2, (boolean) previewProperties.get("orientation"),
                            style);
                    label1.setText((String) previewProperties.get("text"));
                    label2.setText((String) previewProperties.get("text"));

                    if ((boolean) previewProperties.get("orientation")) {
                        widget.addListener(vSplitPaneDragListener);
                        widget.addListener(vSplitPaneInputListener);
                    } else {
                        widget.addListener(hSplitPaneDragListener);
                        widget.addListener(hSplitPaneInputListener);
                    }
                } else if (clazz.equals(TextButton.class)) {
                    TextButtonStyle style = createPreviewStyle(TextButtonStyle.class, styleData);
                    widget = new TextButton("", style);
                    ((TextButton) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((TextButton) widget).setText((String) previewProperties.get("text"));
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(TextField.class)) {
                    TextFieldStyle style = createPreviewStyle(TextFieldStyle.class, styleData);
                    widget = new TextField("", style);
                    ((TextField) widget).setFocusTraversal(false);
                    ((TextField) widget).setDisabled((boolean) previewProperties.get("disabled"));
                    ((TextField) widget).setPasswordMode((boolean) previewProperties.get("passwordMode"));
                    ((TextField) widget).setAlignment((int) previewProperties.get("alignment"));
                    ((TextField) widget).setText((String) previewProperties.get("text"));
                    ((TextField) widget).setMessageText((String) previewProperties.get("message"));
                    String string = (String) previewProperties.get("password");
                    if (string.length() > 0) {
                        ((TextField) widget).setPasswordCharacter(string.charAt(0));
                    }
                    widget.addListener(main.getIbeamListener());
                } else if (clazz.equals(TextTooltip.class)) {
                    TextTooltip.TextTooltipStyle style = createPreviewStyle(TextTooltip.TextTooltipStyle.class,
                            styleData);

                    TooltipManager manager = new TooltipManager();
                    manager.animations = false;
                    manager.initialTime = 0.0f;
                    manager.resetTime = 0.0f;
                    manager.subsequentTime = 0.0f;
                    manager.hideAll();
                    manager.instant();
                    TextTooltip toolTip = new TextTooltip((String) previewProperties.get("text"), manager,
                            style);

                    widget = new Label("Hover over me", getSkin());
                    widget.addListener(toolTip);
                } else if (clazz.equals(Touchpad.class)) {
                    Touchpad.TouchpadStyle style = createPreviewStyle(Touchpad.TouchpadStyle.class, styleData);
                    widget = new Touchpad(0, style);
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Tree.class)) {
                    Tree.TreeStyle style = createPreviewStyle(Tree.TreeStyle.class, styleData);
                    widget = new Tree(style);
                    String[] lines = { "this", "is", "a", "test" };
                    Tree.Node parentNode = null;
                    for (String line : lines) {
                        Label label = new Label(line, getSkin());
                        Tree.Node node = new Tree.Node(label);
                        if (parentNode == null) {
                            ((Tree) widget).add(node);
                        } else {
                            parentNode.add(node);
                        }
                        parentNode = node;
                    }
                    widget.addListener(main.getHandListener());
                } else if (clazz.equals(Window.class)) {
                    Window.WindowStyle style = createPreviewStyle(Window.WindowStyle.class, styleData);

                    Label sampleText = new Label("", getSkin());
                    sampleText.setText((String) previewProperties.get("text"));

                    widget = new Window((String) previewProperties.get("title"), style);
                    ((Window) widget).add(sampleText);
                }

                if (widget != null) {
                    switch ((int) previewProperties.get("size")) {
                    case (0):
                        previewTable.add(widget).size(10.0f);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (1):
                        previewTable.add(widget);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (2):
                        previewTable.add(widget).size(200.0f);
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (3):
                        previewTable.add(widget).growX();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (4):
                        previewTable.add(widget).growY();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (5):
                        previewTable.add(widget).grow();
                        previewSizeSelectBox.setItems(DEFAULT_SIZES);
                        break;
                    case (6):
                        Actor addWidget = widget;
                        TextField widthField = new TextField("", getSkin());
                        TextField heightField = new TextField("", getSkin());
                        System.out.println("trigger");
                        Dialog dialog = new Dialog("Enter dimensions...", getSkin()) {
                            @Override
                            protected void result(Object object) {
                                if ((boolean) object) {
                                    previewTable.add(addWidget).size(Integer.parseInt(widthField.getText()),
                                            Integer.parseInt(heightField.getText()));
                                    Array<String> items = new Array<>(DEFAULT_SIZES);
                                    items.add(widthField.getText() + "x" + heightField.getText());
                                    previewProperties.put("sizeX", Integer.parseInt(widthField.getText()));
                                    previewProperties.put("sizeY", Integer.parseInt(heightField.getText()));
                                    previewSizeSelectBox.setItems(items);
                                    previewSizeSelectBox.setSelectedIndex(7);
                                } else {
                                    previewSizeSelectBox.setSelectedIndex(1);
                                }
                            }
                        };
                        dialog.getTitleTable().getCells().first().padLeft(5.0f);
                        dialog.text("Enter the preview dimensions: ");
                        dialog.getContentTable().getCells().first().pad(10.0f);
                        dialog.getContentTable().row();
                        Table sizeTable = new Table();
                        sizeTable.add(widthField).padLeft(10.0f);
                        sizeTable.add(new Label(" x ", getSkin()));
                        sizeTable.add(heightField).padRight(10.0f);
                        dialog.getContentTable().add(sizeTable);
                        dialog.getButtonTable().defaults().padBottom(10.0f).minWidth(50.0f);
                        dialog.button("OK", true);
                        dialog.button("Cancel", false);
                        dialog.key(Input.Keys.ESCAPE, false);
                        dialog.key(Input.Keys.ENTER, true);
                        dialog.show(stage);
                        stage.setKeyboardFocus(widthField);
                        break;
                    case (7):
                        previewTable.add(widget).size((int) previewProperties.get("sizeX"),
                                (int) previewProperties.get("sizeY"));
                        break;
                    }
                }
            }
        }
    }
}

From source file:com.strategames.catchdastars.screens.editor.GameEditorScreen.java

License:Open Source License

@Override
protected void setupUI(Stage stage) {
    Game game = getGameEngine().getGame();
    Skin skin = getSkin();/*from   w ww . j  av  a2 s . c o  m*/

    addMenuItem("Play game");
    addMenuItem("Save game");
    addMenuItem("Delete game");
    addMenuItem("Export game");

    Array<Level> localLevels = LevelLoader.loadAllLocalLevels(game.getGameMetaData());
    game.clearLevels();
    for (Level level : localLevels) {
        level.setGameMetaData(game.getGameMetaData());
        game.setLevel(level);
    }

    this.levelButtonsGrid = new GridLayout();

    //Center button grid in scrollpane
    //      this.levelButtonsGrid.setPosition((stage.getWidth() / 2f)-12f, 180f);
    this.levelButtonsGrid.setElementSize(gridElementSize.x, gridElementSize.y);
    this.levelButtonsGrid.setCenter(true);

    this.emptyLevelImage = new Pixmap((int) gridElementSize.x, (int) gridElementSize.y, Format.RGBA8888);
    this.emptyLevelImage.setColor(0, 1, 0, 0.3f);
    this.emptyLevelImage.fill();

    this.scrollPane = new ScrollPane(this.levelButtonsGrid, skin);
    this.scrollPane.setHeight(400f);
    this.scrollPane.setWidth(stage.getWidth());
    this.scrollPane.setPosition(0, 200f);
    stage.addActor(this.scrollPane);

    TextButton button = new TextButton("Main menu", skin);
    button.setWidth(stage.getWidth());

    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            getGameEngine().showMainMenu();
        }
    });
    stage.addActor(button);
}

From source file:com.strategames.catchdastars.screens.editor.SelectGameScreen.java

License:Open Source License

@Override
protected void setupUI(final Stage stage) {
    addMenuItem("Delete all games");

    //Gameloader to loadSync all games
    Array<GameMetaData> games = GameLoader.loadAllOriginalGames();

    this.gamesButtonsTable = new Table();
    fillGamesButtonsTable(games);//from w w w .j a  v  a2 s . c o  m

    //Show list of games as vertically scrollable buttonlist
    ScrollPane scrollPane = new ScrollPane(this.gamesButtonsTable, getSkin());
    scrollPane.setHeight(400f);
    scrollPane.setWidth(stage.getWidth());
    scrollPane.setPosition(0, 200f);
    stage.addActor(scrollPane);

    Table table = new Table(getSkin());
    table.setWidth(stage.getWidth());

    TextButton button = new TextButton("Main menu", getSkin());
    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            getGameEngine().showMainMenu();
        }
    });
    table.add(button).fillX().expandX();

    button = new TextButton("New game", getSkin());
    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            handleNewGameButtonClicked();
        }
    });
    table.add(button).fillX().expandX();
    table.bottom();
    table.setHeight(button.getHeight());
    stage.addActor(table);
}

From source file:com.strategames.catchdastars.screens.game.SelectGameScreen.java

License:Open Source License

@Override
protected void setupUI(final Stage stage) {
    //Gameloader to loadSync all games
    Array<GameMetaData> games = GameLoader.loadAllOriginalGames();

    if (games.size < 1) {
        ErrorDialog dialog = new ErrorDialog(stage, "No games available", getSkin());
        dialog.create();/*w w w.  ja  v  a2  s.c  om*/
        dialog.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(Dialog dialog, int which) {
                getGameEngine().stopScreen();
                dialog.remove();
            }
        });
        dialog.show();
        return;
    }

    this.gamesButtonsTable = new Table();
    fillGamesButtonsTable(games);

    //Show list of games as vertically scrollable buttonlist
    ScrollPane scrollPane = new ScrollPane(this.gamesButtonsTable, getSkin());
    scrollPane.setHeight(400f);
    scrollPane.setWidth(stage.getWidth());
    scrollPane.setPosition(0, 200f);
    stage.addActor(scrollPane);

    TextButton button = new TextButton("Main menu", getSkin());
    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            getGameEngine().showMainMenu();
        }
    });
    button.setWidth(stage.getWidth());
    button.bottom();
    stage.addActor(button);
}