src/macosx/classes/sun/lwawt/LWWindowPeer.java

Print this page

        

*** 46,56 **** public static enum PeerType { SIMPLEWINDOW, FRAME, DIALOG, EMBEDDED_FRAME, ! VIEW_EMBEDDED_FRAME } private static final PlatformLogger focusLog = PlatformLogger.getLogger("sun.lwawt.focus.LWWindowPeer"); private final PlatformWindow platformWindow; --- 46,57 ---- public static enum PeerType { SIMPLEWINDOW, FRAME, DIALOG, EMBEDDED_FRAME, ! VIEW_EMBEDDED_FRAME, ! LW_FRAME } private static final PlatformLogger focusLog = PlatformLogger.getLogger("sun.lwawt.focus.LWWindowPeer"); private final PlatformWindow platformWindow;
*** 1088,1098 **** } return platformWindow.requestWindowFocus(); } ! private boolean focusAllowedFor() { Window window = getTarget(); // TODO: check if modal blocked return window.isVisible() && window.isEnabled() && isFocusableWindow(); } --- 1089,1099 ---- } return platformWindow.requestWindowFocus(); } ! protected boolean focusAllowedFor() { Window window = getTarget(); // TODO: check if modal blocked return window.isVisible() && window.isEnabled() && isFocusableWindow(); }
*** 1111,1124 **** public boolean isSimpleWindow() { Window window = getTarget(); return !(window instanceof Dialog || window instanceof Frame); } /* * Changes focused window on java level. */ ! private void changeFocusedWindow(boolean becomesFocused, Window opposite) { if (focusLog.isLoggable(PlatformLogger.FINE)) { focusLog.fine((becomesFocused?"gaining":"loosing") + " focus window: " + this); } if (skipNextFocusChange) { focusLog.fine("skipping focus change"); --- 1112,1130 ---- public boolean isSimpleWindow() { Window window = getTarget(); return !(window instanceof Dialog || window instanceof Frame); } + @Override + public void emulateActivation(boolean activate) { + changeFocusedWindow(activate, null); + } + /* * Changes focused window on java level. */ ! protected void changeFocusedWindow(boolean becomesFocused, Window opposite) { if (focusLog.isLoggable(PlatformLogger.FINE)) { focusLog.fine((becomesFocused?"gaining":"loosing") + " focus window: " + this); } if (skipNextFocusChange) { focusLog.fine("skipping focus change");