List of usage examples for com.badlogic.gdx.scenes.scene2d.utils Selection first
public T first()
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)); } } }); }