Example usage for com.badlogic.gdx.scenes.scene2d.utils Selection first

List of usage examples for com.badlogic.gdx.scenes.scene2d.utils Selection first

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.utils Selection first.

Prototype

public T first() 

Source Link

Document

Returns the first selected item, or null.

Usage

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

License:Apache License

public EditTree(Skin skin) {
    super(skin);//from  ww w  .j  a  v a 2 s . c  o  m

    this.skin = skin;
    upBtn = new ImageButton(skin);
    downBtn = new ImageButton(skin);
    leftBtn = new ImageButton(skin);
    rightBtn = new ImageButton(skin);

    tree = new Tree(skin);

    ScrollPane scrollPane = new ScrollPane(tree, skin);
    container = new Container<ScrollPane>(scrollPane);
    container.fill();
    container.prefHeight(1000);

    toolbar = new EditToolbar(skin);
    //      debug();
    add(toolbar).expandX().fillX();
    row().fill();
    add(container).expandY().fill();

    toolbar.addToolBarButton(upBtn, "ic_up", "Move up", "Move up");
    toolbar.addToolBarButton(downBtn, "ic_down", "Move down", "Move down");
    toolbar.addToolBarButton(leftBtn, "ic_left", "Child", "Move to child option");
    toolbar.addToolBarButton(rightBtn, "ic_right", "Parent", "Move to parent option");
    toolbar.addCreateListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            create();
        }
    });

    toolbar.addEditListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            edit();
        }
    });

    toolbar.addDeleteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            delete();
        }
    });

    toolbar.addCopyListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            copy();
        }
    });

    toolbar.addPasteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            paste();
        }
    });

    upBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            upNode();
        }
    });

    downBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            downNode();
        }
    });

    leftBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            leftNode();
        }
    });

    rightBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            rightNode();
        }
    });

    tree.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Selection<Node> selection = tree.getSelection();

            if (selection.isEmpty()) {
                upBtn.setDisabled(true);
                downBtn.setDisabled(true);

                leftBtn.setDisabled(true);
                rightBtn.setDisabled(true);
            } else {

                Node nodeSel = selection.first();

                int level = nodeSel.getLevel();
                Array<Node> siblings = getSiblings();

                upBtn.setDisabled(siblings.get(0) == nodeSel);
                downBtn.setDisabled(siblings.get(siblings.size - 1) == nodeSel);

                leftBtn.setDisabled(level == 1);
                rightBtn.setDisabled(siblings.get(0) == nodeSel);
            }

            toolbar.disableEdit(selection == null);
        }

    });
}

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

License:Apache License

public Array<Node> getSiblings() {
    Selection<Node> selection = tree.getSelection();
    Node nodeSel = selection.first();

    int level = nodeSel.getLevel();
    Array<Node> siblings = (level == 1) ? tree.getRootNodes() : nodeSel.getParent().getChildren();

    return siblings;
}

From source file:com.mbrlabs.mundus.ui.modules.Outline.java

License:Apache License

private void setupListeners() {

    scrollPane.addListener(new InputListener() {
        @Override/*from  w  w w  . j ava  2s . co m*/
        public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
            Ui.getInstance().setScrollFocus(scrollPane);
        }

        @Override
        public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
            Ui.getInstance().setScrollFocus(null);
        }

    });

    // right click menu listener
    tree.addListener(new InputListener() {
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            if (Input.Buttons.RIGHT != button) {
                return;
            }

            Tree.Node node = tree.getNodeAt(y);
            GameObject go = null;
            if (node != null) {
                go = (GameObject) node.getObject();
            }
            rightClickMenu.show(go, Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY());
        }

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }
    });

    // select listener
    tree.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Selection<Tree.Node> selection = tree.getSelection();
            if (selection != null && selection.size() > 0) {
                GameObject go = (GameObject) selection.first().getObject();
                projectManager.current().currScene.sceneGraph.setSelected(go);
                toolManager.translateTool.gameObjectSelected(go);
                Mundus.postEvent(new GameObjectSelectedEvent(go));
            }
        }
    });

}