Search in sources :

Example 1 with DraggableListListener

use of com.ray3k.stripe.DraggableList.DraggableListListener in project skin-composer by raeleus.

the class RootTable method addClassBar.

private void addClassBar() {
    Table table = new Table();
    table.setBackground(getSkin().getDrawable("class-bar"));
    add(table).expandX().left().growX();
    Label label = new Label("Class:", getSkin());
    table.add(label).padRight(10.0f).padLeft(10.0f);
    classSelectBox = new SelectBox(getSkin());
    classSelectBox.addListener(handListener);
    classSelectBox.getList().addListener(handListener);
    classSelectBox.getList().addListener(scrollFocusListener);
    table.add(classSelectBox).padRight(5.0f).minWidth(150.0f);
    classSelectBox.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new LoadStylesEvent(classSelectBox, styleBox));
            fire(new RootTableEvent(RootTableEnum.CLASS_SELECTED));
        }
    });
    Button button = new Button(getSkin(), "new");
    button.addListener(handListener);
    table.add(button);
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.NEW_CLASS));
        }
    });
    // Tooltip
    TextTooltip toolTip = Main.fixTooltip(new TextTooltip("New Class", tooltipManager, getSkin()));
    button.addListener(toolTip);
    classDuplicateButton = new Button(getSkin(), "duplicate");
    classDuplicateButton.setDisabled(true);
    classDuplicateButton.addListener(handListener);
    table.add(classDuplicateButton);
    classDuplicateButton.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.DUPLICATE_CLASS));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Duplicate Class", tooltipManager, getSkin()));
    classDuplicateButton.addListener(toolTip);
    classDeleteButton = new Button(getSkin(), "delete");
    classDeleteButton.setDisabled(true);
    table.add(classDeleteButton);
    classDeleteButton.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.DELETE_CLASS));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Delete Class", tooltipManager, getSkin()));
    classDeleteButton.addListener(toolTip);
    classRenameButton = new Button(getSkin(), "settings");
    classRenameButton.setDisabled(true);
    table.add(classRenameButton).padRight(30.0f);
    classRenameButton.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.RENAME_CLASS));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Rename Class", tooltipManager, getSkin()));
    classRenameButton.addListener(toolTip);
    label = new Label("Style:", getSkin());
    table.add(label).padRight(10.0f);
    styleBox = new DraggableSelectBox(skin);
    styleBox.setAlignment(Align.left);
    styleBox.getDraggableTextList().setAlignment(Align.left);
    styleBox.getDraggableTextList().setAllowRemoval(false);
    styleBox.addListener(new DraggableListListener() {

        @Override
        public void removed(Actor actor) {
        }

        @Override
        public void reordered(Actor actor, int indexBefore, int indexAfter) {
            var selectedClass = rootTable.getSelectedClass();
            if (selectedClass != null) {
                fire(new ReorderStylesEvent(selectedClass, indexBefore, indexAfter));
            } else {
                var customClass = rootTable.getSelectedCustomClass();
                fire(new ReorderCustomStylesEvent(customClass, indexBefore, indexAfter));
            }
            styleBox.getPopTable().hide();
        }

        @Override
        public void selected(Actor actor) {
            fire(new RootTable.RootTableEvent(RootTable.RootTableEnum.STYLE_SELECTED));
        }
    });
    table.add(styleBox).padRight(5.0f).minWidth(150.0f);
    styleBox.addListener(handListener);
    styleBox.getDraggableTextList().addListener(handListener);
    styleBox.getScrollPane().addListener(scrollFocusListener);
    button = new Button(getSkin(), "new");
    button.addListener(handListener);
    table.add(button);
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.NEW_STYLE));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("New Style", tooltipManager, getSkin()));
    button.addListener(toolTip);
    button = new Button(getSkin(), "duplicate");
    button.addListener(handListener);
    table.add(button);
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.DUPLICATE_STYLE));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Duplicate Style", tooltipManager, getSkin()));
    button.addListener(toolTip);
    styleDeleteButton = new Button(getSkin(), "delete");
    styleDeleteButton.addListener(handListener);
    table.add(styleDeleteButton);
    styleDeleteButton.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.DELETE_STYLE));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Delete Style", tooltipManager, getSkin()));
    styleDeleteButton.addListener(toolTip);
    styleRenameButton = new Button(getSkin(), "settings");
    table.add(styleRenameButton).expandX().left();
    styleRenameButton.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            fire(new RootTableEvent(RootTableEnum.RENAME_STYLE));
        }
    });
    toolTip = Main.fixTooltip(new TextTooltip("Rename Style", tooltipManager, getSkin()));
    styleRenameButton.addListener(toolTip);
    fire(new LoadClassesEvent(classSelectBox));
    fire(new LoadStylesEvent(classSelectBox, styleBox));
}
Also used : DraggableListListener(com.ray3k.stripe.DraggableList.DraggableListListener) ChangeListener(com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)

Aggregations

ChangeListener (com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)1 DraggableListListener (com.ray3k.stripe.DraggableList.DraggableListListener)1