public boolean focusAllowedFor() { Window window = (Window) this.target; if (!window.isVisible() || !window.isEnabled() || !window.isFocusableWindow()) { return false; } if (isModalBlocked()) { return false; } return true; }
private void updateWindow(boolean repaint) { Window w = (Window) target; synchronized (getStateLock()) { if (isOpaque || !w.isVisible() || (w.getWidth() <= 0) || (w.getHeight() <= 0)) { return; } TranslucentWindowPainter currentPainter = painter; if (currentPainter != null) { currentPainter.updateWindow(repaint); } else if (log.isLoggable(PlatformLogger.Level.FINER)) { log.finer("Translucent window painter is null in updateWindow"); } } }
public void propertyChange(PropertyChangeEvent e) { Window w = (Window) e.getNewValue(); if (w == null) { return; } AppContext appContext = SunToolkit.targetToAppContext(w); synchronized (appContext) { WWindowPeer wp = (WWindowPeer) w.getPeer(); // add/move wp to the end of the list List<WWindowPeer> l = (List<WWindowPeer>) appContext.get(ACTIVE_WINDOWS_KEY); if (l != null) { l.remove(wp); l.add(wp); } } }
public void setOpaque(boolean isOpaque) { synchronized (getStateLock()) { if (this.isOpaque == isOpaque) { return; } } Window target = (Window) getTarget(); if (!isOpaque) { SunToolkit sunToolkit = (SunToolkit) target.getToolkit(); if (!sunToolkit.isWindowTranslucencySupported() || !sunToolkit.isTranslucencyCapable(target.getGraphicsConfiguration())) { return; } } boolean isVistaOS = Win32GraphicsEnvironment.isVistaOS(); if (this.isOpaque != isOpaque && !isVistaOS) { // non-Vista OS: only replace the surface data if the opacity // status changed (see WComponentPeer.isAccelCapable() for more) replaceSurfaceDataRecursively(target); } synchronized (getStateLock()) { this.isOpaque = isOpaque; setOpaqueImpl(isOpaque); if (isOpaque) { TranslucentWindowPainter currentPainter = painter; if (currentPainter != null) { currentPainter.flush(); painter = null; } } else { painter = TranslucentWindowPainter.createInstance(this); } } if (isVistaOS) { // On Vista: setting the window non-opaque makes the window look // rectangular, though still catching the mouse clicks within // its shape only. To restore the correct visual appearance // of the window (i.e. w/ the correct shape) we have to reset // the shape. Shape shape = target.getShape(); if (shape != null) { target.setShape(shape); } } if (target.isVisible()) { updateWindow(true); } }
void saveWindowLocations() { Window win = WindowManager.getWindow("B&C"); if (win != null) Prefs.saveLocation(ContrastAdjuster.LOC_KEY, win.getLocation()); win = WindowManager.getWindow("Threshold"); if (win != null) Prefs.saveLocation(ThresholdAdjuster.LOC_KEY, win.getLocation()); win = WindowManager.getWindow("Results"); if (win != null) { Prefs.saveLocation(TextWindow.LOC_KEY, win.getLocation()); Dimension d = win.getSize(); Prefs.set(TextWindow.WIDTH_KEY, d.width); Prefs.set(TextWindow.HEIGHT_KEY, d.height); } win = WindowManager.getWindow("Log"); if (win != null) { Prefs.saveLocation(TextWindow.LOG_LOC_KEY, win.getLocation()); Dimension d = win.getSize(); Prefs.set(TextWindow.LOG_WIDTH_KEY, d.width); Prefs.set(TextWindow.LOG_HEIGHT_KEY, d.height); } win = WindowManager.getWindow("ROI Manager"); if (win != null) Prefs.saveLocation(RoiManager.LOC_KEY, win.getLocation()); }
void initialize() { super.initialize(); updateInsets(insets_); Font f = ((Window) target).getFont(); if (f == null) { f = defaultFont; ((Window) target).setFont(f); setFont(f); } // Express our interest in display changes GraphicsConfiguration gc = getGraphicsConfiguration(); ((Win32GraphicsDevice) gc.getDevice()).addDisplayChangedListener(this); initActiveWindowsTracking((Window) target); updateIconImages(); Shape shape = ((Window) target).getShape(); if (shape != null) { applyShape(Region.getInstance(shape, null)); } float opacity = ((Window) target).getOpacity(); if (opacity < 1.0f) { setOpacity(opacity); } synchronized (getStateLock()) { // default value of a boolean field is 'false', so set isOpaque to // true here explicitly this.isOpaque = true; setOpaque(((Window) target).isOpaque()); } }