*
* The MIT License (MIT)
*
- * Copyright (C) 2017 Kevin Lamonte
+ * Copyright (C) 2019 Kevin Lamonte
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
*/
private static final ResourceBundle i18n = ResourceBundle.getBundle(TMessageBox.class.getName());
+ // ------------------------------------------------------------------------
+ // Constants --------------------------------------------------------------
+ // ------------------------------------------------------------------------
+
/**
* Message boxes have these supported types.
*/
YESNOCANCEL
};
- /**
- * The type of this message box.
- */
- private Type type;
-
- /**
- * My buttons.
- */
- private List<TButton> buttons;
-
/**
* Message boxes have these possible results.
*/
NO
};
+ // ------------------------------------------------------------------------
+ // Variables --------------------------------------------------------------
+ // ------------------------------------------------------------------------
+
/**
- * Which button was clicked: OK, CANCEL, YES, or NO.
+ * The type of this message box.
*/
- private Result result = Result.OK;
+ private Type type;
/**
- * Get the result.
- *
- * @return the result: OK, CANCEL, YES, or NO.
+ * My buttons.
*/
- public final Result getResult() {
- return result;
- }
+ private List<TButton> buttons;
+
+ /**
+ * Which button was clicked: OK, CANCEL, YES, or NO.
+ */
+ private Result result = Result.OK;
+
+ // ------------------------------------------------------------------------
+ // Constructors -----------------------------------------------------------
+ // ------------------------------------------------------------------------
/**
* Public constructor. The message box will be centered on screen.
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.
+ // Start as 100x100 at (1, 1). These will be changed later.
super(application, title, 1, 1, 100, 100, CENTERED | MODAL);
// Hang onto type so that we can provide more convenience in
break;
default:
- throw new IllegalArgumentException("Invalid message box type: " + type);
+ throw new IllegalArgumentException("Invalid message box type: " +
+ type);
}
- // Set the secondaryThread to run me
- getApplication().enableSecondaryEventReceiver(this);
-
if (yield) {
+ // Set the secondaryThread to run me
+ getApplication().enableSecondaryEventReceiver(this);
+
// Yield to the secondary thread. When I come back from the
// constructor response will already be set.
getApplication().yield();
}
}
+ // ------------------------------------------------------------------------
+ // TWindow ----------------------------------------------------------------
+ // ------------------------------------------------------------------------
+
/**
* Handle keystrokes.
*
break;
default:
- throw new IllegalArgumentException("Invalid message box type: " + type);
+ throw new IllegalArgumentException("Invalid message box type: " +
+ type);
}
super.onKeypress(keypress);
}
+ // ------------------------------------------------------------------------
+ // TMessageBox ------------------------------------------------------------
+ // ------------------------------------------------------------------------
+
+ /**
+ * Get the result.
+ *
+ * @return the result: OK, CANCEL, YES, or NO.
+ */
+ public final Result getResult() {
+ return result;
+ }
+
+ /**
+ * See if the user clicked YES.
+ *
+ * @return true if the user clicked YES
+ */
+ public final boolean isYes() {
+ return (result == Result.YES);
+ }
+
+ /**
+ * See if the user clicked NO.
+ *
+ * @return true if the user clicked NO
+ */
+ public final boolean isNo() {
+ return (result == Result.NO);
+ }
+
+ /**
+ * See if the user clicked OK.
+ *
+ * @return true if the user clicked OK
+ */
+ public final boolean isOk() {
+ return (result == Result.OK);
+ }
+
+ /**
+ * See if the user clicked CANCEL.
+ *
+ * @return true if the user clicked CANCEL
+ */
+ public final boolean isCancel() {
+ return (result == Result.CANCEL);
+ }
+
}