X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjexer%2FTMessageBox.java;h=6f1e8a69486b05141b085bda4b841ba474aef347;hb=929409950e82914aa3cee323cfa7c5007585d2ea;hp=44ab5e3b39ccbab67daaec6bfd7d53fa8daeec61;hpb=c6940ed922d1c4e06bf30fd57a50e43f0720e60c;p=fanfix.git diff --git a/src/jexer/TMessageBox.java b/src/jexer/TMessageBox.java deleted file mode 100644 index 44ab5e3..0000000 --- a/src/jexer/TMessageBox.java +++ /dev/null @@ -1,320 +0,0 @@ -/** - * Jexer - Java Text User Interface - * - * License: LGPLv3 or later - * - * This module is licensed under the GNU Lesser General Public License - * Version 3. Please see the file "COPYING" in this directory for more - * information about the GNU Lesser General Public License Version 3. - * - * Copyright (C) 2015 Kevin Lamonte - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 3 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, see - * http://www.gnu.org/licenses/, or write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - * @author Kevin Lamonte [kevin.lamonte@gmail.com] - * @version 1 - */ -package jexer; - -import java.util.ArrayList; -import java.util.List; - -/** - * TMessageBox is a system-modal dialog with buttons for OK, Cancel, Yes, or - * No. Call it like: - * - *
- *
- * {@code - * box = application.messageBox(title, caption, - * TMessageBox.Type.OK | TMessageBox.Type.CANCEL); - * - * if (box.getResult() == TMessageBox.OK) { - * ... the user pressed OK, do stuff ... - * } - * } - *- * - */ -public class TMessageBox extends TWindow { - - /** - * Message boxes have these supported types. - */ - public enum Type { - /** - * Show an OK button. - */ - OK, - - /** - * Show both OK and Cancel buttons. - */ - OKCANCEL, - - /** - * Show both Yes and No buttons. - */ - YESNO, - - /** - * Show Yes, No, and Cancel buttons. - */ - YESNOCANCEL - }; - - /** - * Message boxes have these possible results. - */ - public enum Result { - /** - * User clicked "OK". - */ - OK, - - /** - * User clicked "Cancel". - */ - CANCEL, - - /** - * User clicked "Yes". - */ - YES, - - /** - * User clicked "No". - */ - NO - }; - - - /** - * Which button was clicked: OK, CANCEL, YES, or NO. - */ - private Result result = Result.OK; - - /** - * Get the result. - * - * @return the result: OK, CANCEL, YES, or NO. - */ - public final Result getResult() { - return result; - } - - /** - * Public constructor. The message box will be centered on screen. - * - * @param application TApplication that manages this window - * @param title window title, will be centered along the top border - * @param caption message to display. Use embedded newlines to get a - * multi-line box. - */ - public TMessageBox(final TApplication application, final String title, - final String caption) { - - this(application, title, caption, Type.OK, true); - } - - /** - * Public constructor. The message box will be centered on screen. - * - * @param application TApplication that manages this window - * @param title window title, will be centered along the top border - * @param caption message to display. Use embedded newlines to get a - * multi-line box. - * @param type one of the Type constants. Default is Type.OK. - */ - public TMessageBox(final TApplication application, final String title, - final String caption, final Type type) { - - this(application, title, caption, type, true); - } - - /** - * Public constructor. The message box will be centered on screen. - * - * @param application TApplication that manages this window - * @param title window title, will be centered along the top border - * @param caption message to display. Use embedded newlines to get a - * multi-line box. - * @param type one of the Type constants. Default is Type.OK. - * @param yield if true, yield this Thread. Subclasses need to set this - * to false and yield at their end of their constructor intead. - */ - protected TMessageBox(final TApplication application, final String title, - final String caption, final Type type, final boolean yield) { - - // Start as 50x50 at (1, 1). These will be changed later. - super(application, title, 1, 1, 100, 100, CENTERED | MODAL); - - // Determine width and height - String [] lines = caption.split("\n"); - int width = title.length() + 12; - setHeight(6 + lines.length); - for (String line: lines) { - if (line.length() + 4 > width) { - width = line.length() + 4; - } - } - setWidth(width); - if (getWidth() > getScreen().getWidth()) { - setWidth(getScreen().getWidth()); - } - // Re-center window to get an appropriate (x, y) - center(); - - // Now add my elements - int lineI = 1; - for (String line: lines) { - addLabel(line, 1, lineI, "twindow.background.modal"); - lineI++; - } - - // The button line - lineI++; - List