package com.uwsoft.editor.view.ui.properties;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.kotcrab.vis.ui.VisUI;
import com.kotcrab.vis.ui.widget.VisImageButton;
import com.kotcrab.vis.ui.widget.VisTable;
/**
* Created by CyberJoe on 7/2/2015.
*/
public abstract class UIRemovableProperties extends UIItemCollapsibleProperties {
public UIRemovableProperties(String title) {
super(title);
}
@Override
public Table crateHeaderTable() {
VisTable header = new VisTable();
header.setBackground(VisUI.getSkin().getDrawable("expandable-properties-active-bg"));
VisImageButton collapseButton = new VisImageButton("expandable-properties-button");
VisImageButton closeButton = new VisImageButton("close-panel");
header.add(closeButton).left().padLeft(2);
header.add(createLabel(title)).left().expandX().padLeft(6);
header.add(collapseButton).right().padRight(3);
collapseButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
collapsibleWidget.setCollapsed(!collapsibleWidget.isCollapsed());
header.setBackground(VisUI.getSkin().getDrawable("expandable-properties-" + (collapsibleWidget.isCollapsed() ? "inactive" : "active") + "-bg"));
}
});
closeButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
onClose();
remove();
}
});
return header;
}
public abstract void onClose();
}