package com.uwsoft.editor.view.ui.box; import java.util.Stack; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.kotcrab.vis.ui.widget.VisImageTextButton; /** * Created by CyberJoe on 4/22/2015. */ public class UICompositeHierarchy extends UIBaseBox { private static final String PREFIX = "com.uwsoft.editor.view.ui.box.UICompositeHierarchy"; public static final String SWITCH_VIEW_COMPOSITE_CLICKED = PREFIX + ".SWITCH_VIEW_COMPOSITE_CLICKED"; private Stack<VisImageTextButton> buttons = new Stack<>(); private HorizontalGroup mainGroup; public UICompositeHierarchy() { super(); mainGroup = new HorizontalGroup(); clearItems(); add(mainGroup).left().fill(); add().fill().expand(); row(); } public void addItem(String name, Integer id) { String classType = "hierarchy-item"; if(name.equals("root")) classType+="-root"; VisImageTextButton button = new VisImageTextButton(name, classType); button.getLabelCell().padLeft(3); button.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { facade.sendNotification(SWITCH_VIEW_COMPOSITE_CLICKED, id); } }); button.padLeft(5).padRight(3); mainGroup.addActor(button); buttons.add(button); } public void removeLastItem() { VisImageTextButton button = buttons.pop(); button.remove(); } public void clearItems() { mainGroup.clear(); buttons.clear(); } @Override public void update() { } }