8006790: Improve checking for windows
Reviewed-by: art, mschoene
This commit is contained in:
parent
05882c2a52
commit
ac95e3f1ed
@ -170,7 +170,7 @@ public class LWWindowPeer
|
||||
setTitle(((Dialog) getTarget()).getTitle());
|
||||
}
|
||||
|
||||
setAlwaysOnTop(getTarget().isAlwaysOnTop());
|
||||
updateAlwaysOnTopState();
|
||||
updateMinimumSize();
|
||||
|
||||
final Shape shape = getTarget().getShape();
|
||||
@ -357,8 +357,8 @@ public class LWWindowPeer
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlwaysOnTop(boolean value) {
|
||||
platformWindow.setAlwaysOnTop(value);
|
||||
public void updateAlwaysOnTopState() {
|
||||
platformWindow.setAlwaysOnTop(getTarget().isAlwaysOnTop());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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
|
||||
@ -180,7 +180,7 @@ class CFileDialog implements FileDialogPeer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlwaysOnTop(boolean alwaysOnTop) {
|
||||
public void updateAlwaysOnTopState() {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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 @@ public class CPrinterDialogPeer extends LWWindowPeer {
|
||||
}
|
||||
|
||||
// 1.6 peer method
|
||||
public void setAlwaysOnTop(boolean value) {
|
||||
public void updateAlwaysOnTopState() {
|
||||
// no-op, since we just show the native print dialog
|
||||
}
|
||||
|
||||
|
@ -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 @@ public class Window extends Container implements Accessible {
|
||||
WindowPeer peer = (WindowPeer)this.peer;
|
||||
synchronized(getTreeLock()) {
|
||||
if (peer != null) {
|
||||
peer.setAlwaysOnTop(alwaysOnTop);
|
||||
peer.updateAlwaysOnTopState();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
@ -53,15 +53,14 @@ public interface WindowPeer extends ContainerPeer {
|
||||
void toBack();
|
||||
|
||||
/**
|
||||
* 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
|
||||
* Updates the window's always-on-top state.
|
||||
* Sets 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.
|
||||
|
@ -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
|
||||
@ -542,7 +542,7 @@ public abstract class EmbeddedFrame extends Frame
|
||||
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);
|
||||
|
@ -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
|
||||
@ -993,8 +993,8 @@ class XWindowPeer extends XPanelPeer implements WindowPeer,
|
||||
XLayerProtocol.LAYER_NORMAL);
|
||||
}
|
||||
|
||||
public void setAlwaysOnTop(boolean alwaysOnTop) {
|
||||
this.alwaysOnTop = alwaysOnTop;
|
||||
public void updateAlwaysOnTopState() {
|
||||
this.alwaysOnTop = ((Window) this.target).isAlwaysOnTop();
|
||||
updateAlwaysOnTop();
|
||||
}
|
||||
|
||||
|
@ -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 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer {
|
||||
|
||||
// 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) {}
|
||||
|
@ -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 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer {
|
||||
// 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() {}
|
||||
|
@ -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 class WWindowPeer extends WPanelPeer implements WindowPeer,
|
||||
}
|
||||
}
|
||||
|
||||
public void updateAlwaysOnTopState() {
|
||||
setAlwaysOnTop(((Window)target).isAlwaysOnTop());
|
||||
}
|
||||
|
||||
public void updateFocusableWindowState() {
|
||||
setFocusableWindow(((Window)target).isFocusableWindow());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user