/*
* ******************************************************************************
* * Copyright 2015 See AUTHORS file.
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
* *****************************************************************************
*/
package com.uwsoft.editor.view.ui.box;
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.badlogic.gdx.utils.Align;
import com.kotcrab.vis.ui.VisUI;
import com.kotcrab.vis.ui.widget.CollapsibleWidget;
import com.kotcrab.vis.ui.widget.VisImageButton;
import com.kotcrab.vis.ui.widget.VisTable;
import com.kotcrab.vis.ui.widget.VisWindow;
/**
* Created by sargis on 4/29/15.
*/
public class UICollapsibleBox extends VisWindow {
private final VisImageButton collapsibleButton;
private final VisTable mainTable;
protected CollapsibleWidget collapsibleWidget;
public UICollapsibleBox(String title, int width) {
super(title);
mainTable = new VisTable();
mainTable.top();
setStyle(VisUI.getSkin().get("box", WindowStyle.class));
collapsibleButton = new VisImageButton("close-box");
collapsibleButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
collapsibleWidget.setCollapsed(!collapsibleWidget.isCollapsed());
}
});
getTitleLabel().setAlignment(Align.left);
getTitleTable().add(collapsibleButton).right();
add(mainTable).width(width).padBottom(4);
// by default all collapsible panels are not visible
setVisible(false);
}
protected void createCollapsibleWidget(Table table) {
collapsibleWidget = new CollapsibleWidget(table);
mainTable.add(collapsibleWidget).expand().top();
}
}