From 935523a8c58efced1c0845bd60e08e2acb9e5aee Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Wed, 2 May 2012 01:20:46 +0200 Subject: NEWT API Change 'WindowClosingProtocol': Use 'enum WindowClosingMode' instead of static final int values. --- .../nativewindow/awt/AWTWindowClosingProtocol.java | 20 +++++------ .../media/nativewindow/WindowClosingProtocol.java | 39 ++++++++++++---------- .../classes/jogamp/nativewindow/awt/AWTMisc.java | 12 +++---- 3 files changed, 35 insertions(+), 36 deletions(-) (limited to 'src/nativewindow') diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java index df32f5942..d78b4ac15 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java @@ -43,7 +43,7 @@ public class AWTWindowClosingProtocol implements WindowClosingProtocol { private Runnable closingOperation; private volatile boolean closingListenerSet = false; private Object closingListenerLock = new Object(); - private int defaultCloseOperation = DISPOSE_ON_CLOSE; + private WindowClosingMode defaultCloseOperation = WindowClosingMode.DISPOSE_ON_CLOSE; private boolean defaultCloseOperationSetByUser = false; public AWTWindowClosingProtocol(Component comp, Runnable closingOperation) { @@ -54,9 +54,9 @@ public class AWTWindowClosingProtocol implements WindowClosingProtocol { class WindowClosingAdapter extends WindowAdapter { @Override public void windowClosing(WindowEvent e) { - int op = AWTWindowClosingProtocol.this.getDefaultCloseOperation(); + final WindowClosingMode op = AWTWindowClosingProtocol.this.getDefaultCloseOperation(); - if( DISPOSE_ON_CLOSE == op ) { + if( WindowClosingMode.DISPOSE_ON_CLOSE == op ) { // we have to issue this call right away, // otherwise the window gets destroyed closingOperation.run(); @@ -111,27 +111,23 @@ public class AWTWindowClosingProtocol implements WindowClosingProtocol { /** * - * @return the user set close operation if set by {@link #setDefaultCloseOperation(int) setDefaultCloseOperation(int)}, + * @return the user set close operation if set by {@link #setDefaultCloseOperation(WindowClosingMode) setDefaultCloseOperation(int)}, * otherwise return the AWT/Swing close operation value translated to * a {@link WindowClosingProtocol} value . */ - public final int getDefaultCloseOperation() { - int op = -1; + public final WindowClosingMode getDefaultCloseOperation() { synchronized(closingListenerLock) { if(defaultCloseOperationSetByUser) { - op = defaultCloseOperation; + return defaultCloseOperation; } } - if(0 <= op) { - return op; - } // User didn't determine the behavior, use underlying AWT behavior return AWTMisc.getNWClosingOperation(comp); } - public final int setDefaultCloseOperation(int op) { + public final WindowClosingMode setDefaultCloseOperation(WindowClosingMode op) { synchronized(closingListenerLock) { - int _op = defaultCloseOperation; + final WindowClosingMode _op = defaultCloseOperation; defaultCloseOperation = op; defaultCloseOperationSetByUser = true; return _op; diff --git a/src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java b/src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java index 949aee79c..884c916e4 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java +++ b/src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java @@ -32,35 +32,38 @@ package javax.media.nativewindow; * Protocol for handling window closing events. *

* The implementation shall obey either the user value set by this interface,
- * an underlying toolkit set user value or it's default, eg. {@link #DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment.
+ * an underlying toolkit set user value or it's default, eg. {@link WindowClosingMode#DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment.
* If none of the above determines the operation, - * this protocol default behavior {@link #DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.

+ * this protocol default behavior {@link WindowClosingMode#DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.

*/ public interface WindowClosingProtocol { - /** - * Dispose resources on native window close operation.
- * This is the default behavior in case no underlying toolkit defines otherwise. - */ - int DISPOSE_ON_CLOSE = 1; + public enum WindowClosingMode { + /** + * Do nothing on native window close operation.
+ * This is the default behavior within an AWT environment. + */ + DO_NOTHING_ON_CLOSE, + + /** + * Dispose resources on native window close operation.
+ * This is the default behavior in case no underlying toolkit defines otherwise. + */ + DISPOSE_ON_CLOSE; + } - /** - * Do nothing on native window close operation.
- * This is the default behavior within an AWT environment. - */ - int DO_NOTHING_ON_CLOSE = 0; /** * @return the current close operation value - * @see #DISPOSE_ON_CLOSE - * @see #DO_NOTHING_ON_CLOSE + * @see WindowClosingMode#DISPOSE_ON_CLOSE + * @see WindowClosingMode#DO_NOTHING_ON_CLOSE */ - int getDefaultCloseOperation(); + WindowClosingMode getDefaultCloseOperation(); /** * @param op the new close operation value * @return the previous close operation value - * @see #DISPOSE_ON_CLOSE - * @see #DO_NOTHING_ON_CLOSE + * @see WindowClosingMode#DISPOSE_ON_CLOSE + * @see WindowClosingMode#DO_NOTHING_ON_CLOSE */ - int setDefaultCloseOperation(int op); + WindowClosingMode setDefaultCloseOperation(WindowClosingMode op); } diff --git a/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java b/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java index 834d8a703..d77cd75ef 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java +++ b/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java @@ -75,22 +75,22 @@ public class AWTMisc { MenuSelectionManager.defaultManager().clearSelectedPath(); } - public static int AWT2NWClosingOperation(int awtClosingOperation) { + public static WindowClosingProtocol.WindowClosingMode AWT2NWClosingOperation(int awtClosingOperation) { switch (awtClosingOperation) { case WindowConstants.DISPOSE_ON_CLOSE: case WindowConstants.EXIT_ON_CLOSE: - return WindowClosingProtocol.DISPOSE_ON_CLOSE; + return WindowClosingProtocol.WindowClosingMode.DISPOSE_ON_CLOSE; case WindowConstants.DO_NOTHING_ON_CLOSE: case WindowConstants.HIDE_ON_CLOSE: - return WindowClosingProtocol.DO_NOTHING_ON_CLOSE; + return WindowClosingProtocol.WindowClosingMode.DO_NOTHING_ON_CLOSE; default: throw new NativeWindowException("Unhandled AWT Closing Operation: " + awtClosingOperation); } } - public static int getNWClosingOperation(Component c) { - JFrame jf = getJFrame(c); - int op = (null != jf) ? jf.getDefaultCloseOperation() : WindowConstants.DO_NOTHING_ON_CLOSE ; + public static WindowClosingProtocol.WindowClosingMode getNWClosingOperation(Component c) { + final JFrame jf = getJFrame(c); + final int op = (null != jf) ? jf.getDefaultCloseOperation() : WindowConstants.DO_NOTHING_ON_CLOSE ; return AWT2NWClosingOperation(op); } } -- cgit v1.2.3