970 private long getToplevelWindow( long w ) { 971 long wi = w, ret, root; 972 do { 973 ret = wi; 974 XQueryTree qt = new XQueryTree(wi); 975 try { 976 if (qt.execute() == 0) { 977 return 0; 978 } 979 root = qt.get_root(); 980 wi = qt.get_parent(); 981 } finally { 982 qt.dispose(); 983 } 984 985 } while (wi != root); 986 987 return ret; 988 } 989 990 private static boolean isDesktopWindow( long wi ) { 991 return XWM.getWM().isDesktopWindow( wi ); 992 } 993 994 private void updateAlwaysOnTop() { 995 if (log.isLoggable(PlatformLogger.FINE)) { 996 log.fine("Promoting always-on-top state {0}", Boolean.valueOf(alwaysOnTop)); 997 } 998 XWM.getWM().setLayer(this, 999 alwaysOnTop ? 1000 XLayerProtocol.LAYER_ALWAYS_ON_TOP : 1001 XLayerProtocol.LAYER_NORMAL); 1002 } 1003 1004 public void setAlwaysOnTop(boolean alwaysOnTop) { 1005 this.alwaysOnTop = alwaysOnTop; 1006 updateAlwaysOnTop(); 1007 } 1008 1009 boolean isLocationByPlatform() { | 970 private long getToplevelWindow( long w ) { 971 long wi = w, ret, root; 972 do { 973 ret = wi; 974 XQueryTree qt = new XQueryTree(wi); 975 try { 976 if (qt.execute() == 0) { 977 return 0; 978 } 979 root = qt.get_root(); 980 wi = qt.get_parent(); 981 } finally { 982 qt.dispose(); 983 } 984 985 } while (wi != root); 986 987 return ret; 988 } 989 990 @Override 991 final XComponentPeer getContainerPeer() { 992 // A window has a parent, but it does NOT have a container. 993 return null; 994 } 995 996 private static boolean isDesktopWindow( long wi ) { 997 return XWM.getWM().isDesktopWindow( wi ); 998 } 999 1000 private void updateAlwaysOnTop() { 1001 if (log.isLoggable(PlatformLogger.FINE)) { 1002 log.fine("Promoting always-on-top state {0}", Boolean.valueOf(alwaysOnTop)); 1003 } 1004 XWM.getWM().setLayer(this, 1005 alwaysOnTop ? 1006 XLayerProtocol.LAYER_ALWAYS_ON_TOP : 1007 XLayerProtocol.LAYER_NORMAL); 1008 } 1009 1010 public void setAlwaysOnTop(boolean alwaysOnTop) { 1011 this.alwaysOnTop = alwaysOnTop; 1012 updateAlwaysOnTop(); 1013 } 1014 1015 boolean isLocationByPlatform() { |