Mercurial > hg > release > icedtea7-forest-2.6 > jdk
changeset 6191:8261e56b7f91 jdk7u21-b01
8006790: Improve checking for windows
Reviewed-by: art, mschoene
author | malenkov |
---|---|
date | Tue, 05 Feb 2013 20:18:16 +0400 |
parents | 64f920894073 |
children | 76eb3fb80740 987fdb610c5b |
files | src/macosx/classes/sun/lwawt/LWWindowPeer.java src/macosx/classes/sun/lwawt/macosx/CFileDialog.java src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java src/share/classes/java/awt/Window.java src/share/classes/java/awt/peer/WindowPeer.java src/share/classes/sun/awt/EmbeddedFrame.java src/solaris/classes/sun/awt/X11/XWindowPeer.java src/windows/classes/sun/awt/windows/WFileDialogPeer.java src/windows/classes/sun/awt/windows/WPrintDialogPeer.java src/windows/classes/sun/awt/windows/WWindowPeer.java |
diffstat | 10 files changed, 30 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macosx/classes/sun/lwawt/LWWindowPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/macosx/classes/sun/lwawt/LWWindowPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -166,7 +166,7 @@ setTitle(((Dialog) getTarget()).getTitle()); } - setAlwaysOnTop(getTarget().isAlwaysOnTop()); + updateAlwaysOnTopState(); updateMinimumSize(); final float opacity = getTarget().getOpacity(); @@ -404,8 +404,8 @@ } @Override - public void setAlwaysOnTop(boolean value) { - platformWindow.setAlwaysOnTop(value); + public void updateAlwaysOnTopState() { + platformWindow.setAlwaysOnTop(getTarget().isAlwaysOnTop()); } @Override
--- a/src/macosx/classes/sun/lwawt/macosx/CFileDialog.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/macosx/classes/sun/lwawt/macosx/CFileDialog.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -174,7 +174,7 @@ } @Override - public void setAlwaysOnTop(boolean alwaysOnTop) { + public void updateAlwaysOnTopState() { } @Override
--- a/src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -87,7 +87,7 @@ } // 1.6 peer method - public void setAlwaysOnTop(boolean value) { + public void updateAlwaysOnTopState() { // no-op, since we just show the native print dialog }
--- a/src/share/classes/java/awt/Window.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/share/classes/java/awt/Window.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2234,7 +2234,7 @@ WindowPeer peer = (WindowPeer)this.peer; synchronized(getTreeLock()) { if (peer != null) { - peer.setAlwaysOnTop(alwaysOnTop); + peer.updateAlwaysOnTopState(); } } }
--- a/src/share/classes/java/awt/peer/WindowPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/share/classes/java/awt/peer/WindowPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -55,15 +55,14 @@ void toBack(); /** - * Sets if the window should always stay on top of all other windows or - * not. + * Updates the window's always-on-top state. + * Sets if the window should always stay + * on top of all other windows or not. * - * @param alwaysOnTop if the window should always stay on top of all other - * windows or not - * + * @see Window#getAlwaysOnTop() * @see Window#setAlwaysOnTop(boolean) */ - void setAlwaysOnTop(boolean alwaysOnTop); + void updateAlwaysOnTopState(); /** * Updates the window's focusable state.
--- a/src/share/classes/sun/awt/EmbeddedFrame.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/share/classes/sun/awt/EmbeddedFrame.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -532,7 +532,7 @@ public void toBack() {} public void updateFocusableWindowState() {} public void updateAlwaysOnTop() {} - public void setAlwaysOnTop(boolean alwaysOnTop) {} + public void updateAlwaysOnTopState() {} public Component getGlobalHeavyweightFocusOwner() { return null; } public void setBoundsPrivate(int x, int y, int width, int height) { setBounds(x, y, width, height, SET_BOUNDS);
--- a/src/solaris/classes/sun/awt/X11/XWindowPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/solaris/classes/sun/awt/X11/XWindowPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -992,8 +992,8 @@ XLayerProtocol.LAYER_NORMAL); } - public void setAlwaysOnTop(boolean alwaysOnTop) { - this.alwaysOnTop = alwaysOnTop; + public void updateAlwaysOnTopState() { + this.alwaysOnTop = ((Window) this.target).isAlwaysOnTop(); updateAlwaysOnTop(); }
--- a/src/windows/classes/sun/awt/windows/WFileDialogPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/windows/classes/sun/awt/windows/WFileDialogPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -237,7 +237,7 @@ // unused methods. Overridden to disable this functionality as // it requires HWND which is not available for FileDialog - public void setAlwaysOnTop(boolean value) {} + public void updateAlwaysOnTopState() {} public void setDirectory(String dir) {} public void setFile(String file) {} public void setTitle(String title) {}
--- a/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -117,7 +117,7 @@ // unused methods. Overridden to disable this functionality as // it requires HWND which is not available for FileDialog void initialize() {} - public void setAlwaysOnTop(boolean b) {} + public void updateAlwaysOnTopState() {} public void setResizable(boolean resizable) {} public void hide() {} public void enable() {}
--- a/src/windows/classes/sun/awt/windows/WWindowPeer.java Wed Jan 30 14:17:02 2013 +0100 +++ b/src/windows/classes/sun/awt/windows/WWindowPeer.java Tue Feb 05 20:18:16 2013 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -132,6 +132,10 @@ } } + public void updateAlwaysOnTopState() { + setAlwaysOnTop(((Window)target).isAlwaysOnTop()); + } + public void updateFocusableWindowState() { setFocusableWindow(((Window)target).isFocusableWindow()); }