/******************************************************************************* * Copyright 2014 Rafael Garcia Moreno. * * 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.bladecoder.engineeditor.scneditor; import com.badlogic.gdx.scenes.scene2d.ui.CheckBox; import com.badlogic.gdx.scenes.scene2d.ui.Container; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.Drawable; import com.bladecoder.engine.util.DPIUtils; import com.bladecoder.engineeditor.common.EditorLogger; public class ViewWindow extends Container<Table> { ScnWidget scnWidget; CheckBox walkZone; public ViewWindow(Skin skin, ScnWidget sw) { scnWidget = sw; Table table = new Table(skin); table.defaults().left().expandX(); table.top().pad(DPIUtils.getSpacing()/2); table.top(); table.add(new Label("View", skin, "big")).center(); Drawable drawable = skin.getDrawable("trans"); setBackground(drawable); table.row(); final CheckBox inSceneCb = new CheckBox("Animations in scene", skin); inSceneCb.setChecked(scnWidget.getInSceneSprites()); table.add(inSceneCb); table.row(); final CheckBox animCb = new CheckBox("Show Animations", skin); animCb.setChecked(scnWidget.getAnimation()); table.add(animCb); table.row(); walkZone = new CheckBox("Show Walkzone", skin); walkZone.setChecked(scnWidget.getShowWalkZone()); table.add(walkZone); table.row(); final CheckBox console = new CheckBox("Show Debug Console", skin); console.setChecked(EditorLogger.console.isVisible()); table.add(console); inSceneCb.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) { scnWidget.setInSceneSprites(inSceneCb.isChecked()); } }); animCb.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) { scnWidget.setAnimation(animCb.isChecked()); } }); walkZone.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) { scnWidget.setShowWalkZone(walkZone.isChecked()); } }); console.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) { EditorLogger.console.setVisible(console.isChecked()); } }); table.pack(); setActor(table); prefSize(table.getWidth(), Math.max(200, table.getHeight())); setSize(table.getWidth(), Math.max(200, table.getHeight())); } public void showWalkZone() { scnWidget.setShowWalkZone(true); walkZone.setChecked(true); } }