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

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

Introduction

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

Prototype

public Tree(TreeStyle style) 

Source Link

Usage

From source file:com.badlogic.gdx.ai.tests.BehaviorTreeViewer.java

License:Apache License

@Override
public void create() {
    step = 0;/*ww  w . j av  a 2s.  co  m*/
    taskNodes = new ObjectMap<Task<Dog>, TaskNode>();
    BehaviorTreeParser<Dog> parser = new BehaviorTreeParser<Dog>(BehaviorTreeParser.DEBUG_NONE);
    BehaviorTree<Dog> tree = parser.parse(Gdx.files.internal("data/dog.tree"), null);
    dog = new Dog("Dog 1", tree);
    tree.addListener(new BehaviorTree.Listener<Dog>() {
        @Override
        public void statusUpdated(Task<Dog> task, Task.Status previousStatus) {
            TaskNode tn = taskNodes.get(task);
            tn.updateStatus(previousStatus, step);
        }

        @Override
        public void childAdded(Task<Dog> task, int index) {
            TaskNode parentNode = taskNodes.get(task);
            Task<Dog> child = task.getChild(index);
            addToTree(displayTree, parentNode, child, null, 0);
            displayTree.expandAll();
        }
    });
    KryoUtils.initKryo();
    skin = new Skin(Gdx.files.internal("data/uiskin.json"));

    treeStatus = SUSPENDED;

    runDelaySlider = new Slider(0, 5, 0.01f, false, skin);
    runDelaySlider.setValue(.5f);

    runButton = new TextButton("Run", skin);

    stepButton = new TextButton("Step", skin);

    loadButton = new TextButton("Load", skin);
    loadButton.setDisabled(true);

    saveButton = new TextButton("Save", skin);

    stepLabel = new Label(new StringBuilder(LABEL_STEP + step), skin);

    stage = new Stage(new ScreenViewport());

    Table table = new Table();
    table.row().height(20).fillX();
    table.add(runDelaySlider);
    table.add(runButton);
    table.add(stepButton);
    table.add(saveButton);
    table.add(loadButton);
    table.add(stepLabel);
    table.row();
    displayTree = new Tree(skin);

    redrawTree();

    table.add(displayTree).colspan(3).fillX().fillY().expand(true, true);

    stage.addActor(table);
    table.setFillParent(true);

    saveButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            save();
            saved = true;
            loadButton.setDisabled(false);
        }
    });

    loadButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            load();
        }
    });

    stepButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            treeStatus = STEP; // step();
        }
    });

    runButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (treeStatus == SUSPENDED) {
                treeStatus = RUNNING;
                delay = runDelaySlider.getValue(); // this makes it start immediately
                runButton.setText("Suspend");
                stepButton.setDisabled(true);
                saveButton.setDisabled(true);
                loadButton.setDisabled(true);
            } else {
                treeStatus = SUSPENDED;
                runButton.setText("Run");
                stepButton.setDisabled(false);
                saveButton.setDisabled(false);
                loadButton.setDisabled(!saved);
            }
        }
    });

    Gdx.input.setInputProcessor(stage);

    setScreen(this);
}

From source file:com.badlogic.gdx.ai.tests.btree.BehaviorTreeViewer.java

License:Apache License

public BehaviorTreeViewer(BehaviorTree<E> tree, boolean loadAndSave, Skin skin) {
    super(skin);/*w  w  w  .j  a  va 2 s .c  o m*/
    this.tree = tree;
    step = 0;
    taskNodes = new ObjectMap<Task<E>, TaskNode>();
    tree.addListener(new BehaviorTree.Listener<E>() {
        @Override
        public void statusUpdated(Task<E> task, Task.Status previousStatus) {
            TaskNode tn = taskNodes.get(task);
            if (tn != null)
                tn.updateStatus(previousStatus, step);
        }

        @Override
        public void childAdded(Task<E> task, int index) {
            TaskNode parentNode = taskNodes.get(task);
            Task<E> child = task.getChild(index);
            addToTree(displayTree, parentNode, child, null, 0);
            displayTree.expandAll();
        }
    });

    treeStatus = BT_SUSPENDED;

    runDelaySlider = new Slider(0, 5, 0.01f, false, skin);
    runDelaySlider.setValue(.5f);

    runButton = new TextButton("Run", skin);
    runButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (treeStatus == BT_SUSPENDED) {
                treeStatus = BT_RUNNING;
                runDelayAccumulator = runDelaySlider.getValue(); // this makes it start immediately
                runButton.setText("Suspend");
                stepButton.setDisabled(true);
                if (saveButton != null)
                    saveButton.setDisabled(true);
                if (loadButton != null)
                    loadButton.setDisabled(true);
            } else {
                treeStatus = BT_SUSPENDED;
                runButton.setText("Run");
                stepButton.setDisabled(false);
                if (saveButton != null)
                    saveButton.setDisabled(false);
                if (loadButton != null)
                    loadButton.setDisabled(!saved);
            }
        }
    });

    stepButton = new TextButton("Step", skin);
    stepButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            treeStatus = BT_STEP;
        }
    });

    resetButton = new TextButton("Reset", skin);
    resetButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            BehaviorTreeViewer.this.tree.reset();
            rebuildDisplayTree();
        }
    });

    if (loadAndSave) {
        loadButton = new TextButton("Load", skin);
        loadButton.setDisabled(true);
        loadButton.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                load();
            }
        });

        saveButton = new TextButton("Save", skin);
        saveButton.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                save();
                saved = true;
                loadButton.setDisabled(false);
            }
        });
    }

    stepLabel = new Label(new StringBuilder(LABEL_STEP + step), skin);

    this.row().height(26).fillX();
    this.add(runDelaySlider);
    this.add(runButton);
    this.add(stepButton);
    this.add(resetButton);
    if (loadAndSave) {
        this.add(saveButton);
        this.add(loadButton);
    }
    this.add(stepLabel);
    this.row();
    displayTree = new Tree(skin);

    rebuildDisplayTree();

    this.add(displayTree).colspan(5 + (loadAndSave ? 2 : 0)).grow();
}

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

License:Apache License

public EditTree(Skin skin) {
    super(skin);/*from   w w  w . ja v  a2  s  .  com*/

    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.blastedstudios.gdxworld.util.ui.TreeFileChooser.java

License:Apache License

/** builds {@link #chooseButton}, {@link #cancelButtonListener}, {@link #tree}, {@link #treePane} */
protected void buildWidgets() {
    (tree = new Tree(style.treeStyle)).addListener(treeListener);
    if (style.scrollPaneStyle != null)
        treePane = new ScrollPane(tree, style.scrollPaneStyle);
    else/* w  w w  .jav  a2s . co  m*/
        treePane = new ScrollPane(tree);
    (chooseButton = Scene2DUtils.newButton(style.selectButtonStyle, "select"))
            .addListener(chooseButtonListener);
    chooseButton.setDisabled(true);
    (cancelButton = Scene2DUtils.newButton(style.cancelButtonStyle, "cancel"))
            .addListener(cancelButtonListener);
}

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

License:Open Source License

public void refreshPreview() {
    if (previewTable != null) {
        previewTable.clear();// ww  w  .  ja  va2 s. c  om
        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.uwsoft.editor.gdx.ui.UIItemsBox.java

License:Apache License

public void initContent() {
    for (int i = 0; i < this.getChildren().size; i++) {
        if (this.getChildren().get(i).getName() != null
                && this.getChildren().get(i).getName().equals("treeTable")) {
            this.getChildren().get(i).remove();
            break;
        }//from w  ww  . j  av  a  2 s.c  om
    }
    skin = stage.textureManager.editorSkin;
    tree = new Tree(skin);

    CompositeItem sceneItems = stage.getSandbox().getCurrentScene();
    Node root = addTree(sceneItems, stage.getCompositePanel().isRootScene());

    for (int i = 0; i < sceneItems.getItems().size(); i++) {
        if (sceneItems.getItems().get(i).isComposite()) {
            innerComposite(sceneItems.getItems().get(i), root);
        } else {
            addTree(sceneItems.getItems().get(i), root);
        }
    }
    //expand root
    if (root != null && root.getChildren() != null && root.getChildren().size > 0
            && root.getChildren().get(0) != null) {
        root.getChildren().get(0).expandTo();
    }

    Table scrolltable = new Table();
    scrolltable.padBottom(20);
    scrolltable.add(tree).fill().expand();
    final ScrollPane scroller = new ScrollPane(scrolltable, skin);
    scroller.setFlickScroll(false);
    final Table table = new Table();
    table.setFillParent(true);
    table.padTop(10);
    table.add(scroller).fill().expand();
    table.setName("treeTable");
    addActor(table);
    tree.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Array<Node> selectedNodes = tree.getSelection().toArray();
            for (int i = 0; i < selectedNodes.size; i++) {
                System.out.println();
                IBaseItem baseItem = (IBaseItem) selectedNodes.get(i).getObject();
                IBaseItem item = getCurrentSceneItem(stage.getSandbox().getCurrentScene(), baseItem);
                if (item != null) {
                    addSelectionAction(item);
                }
            }

        }
    });
}

From source file:net.dermetfan.gdx.scenes.scene2d.ui.TreeFileChooser.java

License:Apache License

/** builds {@link #chooseButton}, {@link #cancelButtonListener}, {@link #tree}, {@link #treePane} */
protected void buildWidgets() {
    (tree = new Tree(style.treeStyle)).addListener(treeListener);
    if (style.scrollPaneStyle != null)
        treePane = new ScrollPane(tree, style.scrollPaneStyle);
    else//from ww w  .j av a  2 s .c o m
        treePane = new ScrollPane(tree);
    (chooseButton = UIUtils.newButton(style.selectButtonStyle, "select")).addListener(chooseButtonListener);
    chooseButton.setDisabled(true);
    (cancelButton = UIUtils.newButton(style.cancelButtonStyle, "cancel")).addListener(cancelButtonListener);
}