*/
public static final int NOCLOSEBOX = 0x08;
+ /**
+ * Window has no maximize box (default no).
+ */
+ public static final int NOZOOMBOX = 0x10;
+
// ------------------------------------------------------------------------
// Common window attributes -----------------------------------------------
// ------------------------------------------------------------------------
// General behavior -------------------------------------------------------
// ------------------------------------------------------------------------
+ /**
+ * See if this window is undergoing any movement/resize/etc.
+ *
+ * @return true if the window is moving
+ */
+ public boolean inMovements() {
+ if (inWindowResize || inWindowMove || inKeyboardResize) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Stop any pending movement/resize/etc.
+ */
+ public void stopMovements() {
+ inWindowResize = false;
+ inWindowMove = false;
+ inKeyboardResize = false;
+ }
+
/**
* Returns true if this window is modal.
*
return false;
}
+ /**
+ * Returns true if this window has a maximize/zoom box.
+ *
+ * @return true if this window has a maximize/zoom box
+ */
+ public final boolean hasZoomBox() {
+ if ((flags & NOZOOMBOX) != 0) {
+ return true;
+ }
+ return false;
+ }
+
/**
* Retrieve the background color.
*
* @return the background color
*/
- public final CellAttributes getBackground() {
+ public CellAttributes getBackground() {
if (!isModal()
&& (inWindowMove || inWindowResize || inKeyboardResize)
) {
}
// Draw the maximize button
- if (!isModal()) {
+ if (!isModal() && ((flags & NOZOOMBOX) == 0)) {
putCharXY(getWidth() - 5, 0, '[', border);
putCharXY(getWidth() - 3, 0, ']', border);
* @return true if the mouse is currently on the maximize/restore button
*/
protected boolean mouseOnMaximize() {
+ if ((flags & NOZOOMBOX) != 0) {
+ return false;
+ }
if ((mouse != null)
&& !isModal()
&& (mouse.getAbsoluteY() == getY())
}
// F5 - zoom
- if (keypress.equals(kbF5)) {
+ if (keypress.equals(kbF5) && ((flags & NOZOOMBOX) == 0)) {
if (maximized) {
restore();
} else {
return;
}
- if (command.equals(cmWindowZoom)) {
+ if (command.equals(cmWindowZoom) && ((flags & NOZOOMBOX) == 0)) {
if (maximized) {
restore();
} else {
return;
}
- if (menu.getId() == TMenu.MID_WINDOW_ZOOM) {
+ if ((menu.getId() == TMenu.MID_WINDOW_ZOOM)
+ && ((flags & NOZOOMBOX) == 0)
+ ) {
if (maximized) {
restore();
} else {
getScreen().hLineXY(x, y, n, ch, attr);
}
-
}