/* * Copyright (C) 2014-2016 Helix Engine Developers * (http://github.com/fauu/HelixEngine) * * This software is licensed under the GNU General Public License * (version 3 or later). See the COPYING file in this distribution. * * You should have received a copy of the GNU Library General Public License * along with this software. If not, see <http://www.gnu.org/licenses/>. * * Authored by: Piotr Grabowski <fau999@gmail.com> */ package com.github.fauu.helix.editor.ui.dialog; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.github.fauu.helix.editor.HelixEditor; import com.kotcrab.vis.ui.widget.VisTable; import com.kotcrab.vis.ui.widget.VisLabel; import com.kotcrab.vis.ui.widget.VisTextButton; import com.kotcrab.vis.ui.widget.VisTextField; import com.kotcrab.vis.ui.widget.VisWindow; public class NewAreaDialog extends VisWindow { // TODO: Add input validation public NewAreaDialog() { super("New Area"); setModal(true); closeOnEscape(); row(); VisTable fieldsetContainer = new VisTable(true); fieldsetContainer.add(new VisLabel("Name:")).right(); final VisTextField nameField = new VisTextField(); fieldsetContainer.add(nameField); fieldsetContainer.row(); fieldsetContainer.add(new VisLabel("Dimensions:")); final VisTextField widthField = new VisTextField("64"); widthField.setMaxLength(3); fieldsetContainer.add(widthField); fieldsetContainer.add(new VisLabel("x")); final VisTextField lengthField = new VisTextField("48"); lengthField.setMaxLength(3); fieldsetContainer.add(lengthField); fieldsetContainer.row(); // TODO: Get rid of magic numbers. Here, there and everywhere. add(fieldsetContainer).padTop(3).spaceBottom(8); row(); VisTable actionButtonsContainer = new VisTable(true); VisTextButton cancelButton = new VisTextButton("Cancel"); cancelButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { fadeOut(); } }); actionButtonsContainer.add(cancelButton); VisTextButton createButton = new VisTextButton("Create"); createButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { HelixEditor.getInstance().closeCurrentAreaAction(); HelixEditor.getInstance().createAreaAction( nameField.getText(), Integer.parseInt(widthField.getText()), Integer.parseInt(lengthField.getText())); HelixEditor.getInstance().loadAreaAction(nameField.getText()); fadeOut(); } }); actionButtonsContainer.add(createButton); add(actionButtonsContainer).right().padBottom(4); pack(); centerWindow(); } }