package com.overlap2d.plugins.tiled.view.tabs;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Array;
import com.kotcrab.vis.ui.widget.VisTextButton;
import com.overlap2d.plugins.tiled.TiledPanel;
import com.overlap2d.plugins.tiled.data.AttributeVO;
import com.overlap2d.plugins.tiled.data.CategoryVO;
import com.overlap2d.plugins.tiled.data.ParameterVO;
import com.overlap2d.plugins.tiled.view.Category;
/**
* Created by mariam on 2/4/16.
*/
public class SettingsTab extends DefaultTab {
private static final String CLASS_NAME = "com.overlap2d.plugins.tiled.view.tabs.SettingsTab";
public static final String OK_BTN_CLICKED = CLASS_NAME+".OK_BTN_CLICKED";
private ParameterVO currentParameters;
private Category grid;
public SettingsTab(TiledPanel panel, String tabTitle, int tabIndex) {
super(panel, tabTitle, tabIndex);
currentParameters = panel.tiledPlugin.dataToSave.getParameterVO();
}
@Override
public void initView() {
Array<AttributeVO> gridAttributes = new Array<>();
gridAttributes.add(new AttributeVO("Width", currentParameters.gridWidth));
gridAttributes.add(new AttributeVO("Height", currentParameters.gridHeight));
CategoryVO gridVO = new CategoryVO("Grid size: ", gridAttributes);
grid = new Category(gridVO);
content.add(grid)
.expandX()
.colspan(2)
.padTop(10)
.left()
.top()
.row();
panel.tiledPlugin.dataToSave.setParameterVO(currentParameters);
VisTextButton okBtn = new VisTextButton("Save");
content.add(okBtn)
.width(70)
.pad(20)
.colspan(2)
.expandX()
.center()
.bottom()
.row();
okBtn.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
currentParameters.gridWidth = grid.getAttributeVO("Width: ").value;
currentParameters.gridHeight = grid.getAttributeVO("Height: ").value;
panel.facade.sendNotification(OK_BTN_CLICKED, currentParameters);
}
});
}
public void resetGridCategory() {
Array<AttributeVO> gridAttributes = new Array<>();
gridAttributes.add(new AttributeVO("Width", currentParameters.gridWidth));
gridAttributes.add(new AttributeVO("Height", currentParameters.gridHeight));
grid.reInitView(gridAttributes);
}
}