src/solaris/classes/sun/awt/X11/XWindow.java
Print this page
*** 400,410 ****
public void run() {
AWTAccessor.getAWTEventAccessor().setPosted(e);
((Component)e.getSource()).dispatchEvent(e);
}
}, PeerEvent.ULTIMATE_PRIORITY_EVENT);
! if (focusLog.isLoggable(PlatformLogger.FINER) && (e instanceof FocusEvent)) {
focusLog.finer("Sending " + e);
}
XToolkit.postEvent(XToolkit.targetToAppContext(e.getSource()), pe);
}
--- 400,410 ----
public void run() {
AWTAccessor.getAWTEventAccessor().setPosted(e);
((Component)e.getSource()).dispatchEvent(e);
}
}, PeerEvent.ULTIMATE_PRIORITY_EVENT);
! if (focusLog.isLoggable(PlatformLogger.Level.FINER) && (e instanceof FocusEvent)) {
focusLog.finer("Sending " + e);
}
XToolkit.postEvent(XToolkit.targetToAppContext(e.getSource()), pe);
}
*** 660,670 ****
super.handleButtonPressRelease(xev);
XButtonEvent xbe = xev.get_xbutton();
if (isEventDisabled(xev)) {
return;
}
! if (eventLog.isLoggable(PlatformLogger.FINE)) {
eventLog.fine(xbe.toString());
}
long when;
int modifiers;
boolean popupTrigger = false;
--- 660,670 ----
super.handleButtonPressRelease(xev);
XButtonEvent xbe = xev.get_xbutton();
if (isEventDisabled(xev)) {
return;
}
! if (eventLog.isLoggable(PlatformLogger.Level.FINE)) {
eventLog.fine(xbe.toString());
}
long when;
int modifiers;
boolean popupTrigger = false;
*** 696,706 ****
mouseButtonClickAllowed |= XlibUtil.getButtonMask(lbutton);
XWindow lastWindow = (lastWindowRef != null) ? ((XWindow)lastWindowRef.get()):(null);
/*
multiclick checking
*/
! if (eventLog.isLoggable(PlatformLogger.FINEST)) {
eventLog.finest("lastWindow = " + lastWindow + ", lastButton "
+ lastButton + ", lastTime " + lastTime + ", multiClickTime "
+ XToolkit.getMultiClickTime());
}
if (lastWindow == this && lastButton == lbutton && (when - lastTime) < XToolkit.getMultiClickTime()) {
--- 696,706 ----
mouseButtonClickAllowed |= XlibUtil.getButtonMask(lbutton);
XWindow lastWindow = (lastWindowRef != null) ? ((XWindow)lastWindowRef.get()):(null);
/*
multiclick checking
*/
! if (eventLog.isLoggable(PlatformLogger.Level.FINEST)) {
eventLog.finest("lastWindow = " + lastWindow + ", lastButton "
+ lastButton + ", lastTime " + lastTime + ", multiClickTime "
+ XToolkit.getMultiClickTime());
}
if (lastWindow == this && lastButton == lbutton && (when - lastTime) < XToolkit.getMultiClickTime()) {
*** 889,899 ****
public void handleXCrossingEvent(XEvent xev) {
super.handleXCrossingEvent(xev);
XCrossingEvent xce = xev.get_xcrossing();
! if (eventLog.isLoggable(PlatformLogger.FINEST)) {
eventLog.finest(xce.toString());
}
if (xce.get_type() == XConstants.EnterNotify) {
enterNotify(xce.get_window());
--- 889,899 ----
public void handleXCrossingEvent(XEvent xev) {
super.handleXCrossingEvent(xev);
XCrossingEvent xce = xev.get_xcrossing();
! if (eventLog.isLoggable(PlatformLogger.Level.FINEST)) {
eventLog.finest(xce.toString());
}
if (xce.get_type() == XConstants.EnterNotify) {
enterNotify(xce.get_window());
*** 993,1003 ****
public void handleConfigureNotifyEvent(XEvent xev) {
Rectangle oldBounds = getBounds();
super.handleConfigureNotifyEvent(xev);
! if (insLog.isLoggable(PlatformLogger.FINER)) {
insLog.finer("Configure, {0}, event disabled: {1}",
xev.get_xconfigure(), isEventDisabled(xev));
}
if (isEventDisabled(xev)) {
return;
--- 993,1003 ----
public void handleConfigureNotifyEvent(XEvent xev) {
Rectangle oldBounds = getBounds();
super.handleConfigureNotifyEvent(xev);
! if (insLog.isLoggable(PlatformLogger.Level.FINER)) {
insLog.finer("Configure, {0}, event disabled: {1}",
xev.get_xconfigure(), isEventDisabled(xev));
}
if (isEventDisabled(xev)) {
return;
*** 1015,1025 ****
// }
}
public void handleMapNotifyEvent(XEvent xev) {
super.handleMapNotifyEvent(xev);
! if (log.isLoggable(PlatformLogger.FINE)) {
log.fine("Mapped {0}", this);
}
if (isEventDisabled(xev)) {
return;
}
--- 1015,1025 ----
// }
}
public void handleMapNotifyEvent(XEvent xev) {
super.handleMapNotifyEvent(xev);
! if (log.isLoggable(PlatformLogger.Level.FINE)) {
log.fine("Mapped {0}", this);
}
if (isEventDisabled(xev)) {
return;
}
*** 1039,1049 ****
ce = new ComponentEvent(target, ComponentEvent.COMPONENT_HIDDEN);
postEventToEventQueue(ce);
}
private void dumpKeysymArray(XKeyEvent ev) {
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine(" "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 0))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 1))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 2))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 3)));
}
--- 1039,1049 ----
ce = new ComponentEvent(target, ComponentEvent.COMPONENT_HIDDEN);
postEventToEventQueue(ce);
}
private void dumpKeysymArray(XKeyEvent ev) {
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine(" "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 0))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 1))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 2))+
"\n "+Long.toHexString(XlibWrapper.XKeycodeToKeysym(XToolkit.getDisplay(), ev.get_keycode(), 3)));
}
*** 1069,1090 ****
static private int primaryUnicode2JavaKeycode(int uni) {
return (uni > 0? sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(uni) : 0);
//return (uni > 0? uni + 0x01000000 : 0);
}
void logIncomingKeyEvent(XKeyEvent ev) {
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("--XWindow.java:handleKeyEvent:"+ev);
}
dumpKeysymArray(ev);
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("XXXXXXXXXXXXXX javakeycode will be most probably:0x"+ Integer.toHexString(XKeysym.getJavaKeycodeOnly(ev)));
}
}
public void handleKeyPress(XEvent xev) {
super.handleKeyPress(xev);
XKeyEvent ev = xev.get_xkey();
! if (eventLog.isLoggable(PlatformLogger.FINE)) {
eventLog.fine(ev.toString());
}
if (isEventDisabled(xev)) {
return;
}
--- 1069,1090 ----
static private int primaryUnicode2JavaKeycode(int uni) {
return (uni > 0? sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(uni) : 0);
//return (uni > 0? uni + 0x01000000 : 0);
}
void logIncomingKeyEvent(XKeyEvent ev) {
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("--XWindow.java:handleKeyEvent:"+ev);
}
dumpKeysymArray(ev);
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("XXXXXXXXXXXXXX javakeycode will be most probably:0x"+ Integer.toHexString(XKeysym.getJavaKeycodeOnly(ev)));
}
}
public void handleKeyPress(XEvent xev) {
super.handleKeyPress(xev);
XKeyEvent ev = xev.get_xkey();
! if (eventLog.isLoggable(PlatformLogger.Level.FINE)) {
eventLog.fine(ev.toString());
}
if (isEventDisabled(xev)) {
return;
}
*** 1095,1130 ****
final void handleKeyPress(XKeyEvent ev) {
long keysym[] = new long[2];
int unicodeKey = 0;
keysym[0] = XConstants.NoSymbol;
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
logIncomingKeyEvent( ev );
}
if ( //TODO check if there's an active input method instance
// without calling a native method. Is it necessary though?
haveCurrentX11InputMethodInstance()) {
if (x11inputMethodLookupString(ev.pData, keysym)) {
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("--XWindow.java XIM did process event; return; dec keysym processed:"+(keysym[0])+
"; hex keysym processed:"+Long.toHexString(keysym[0])
);
}
return;
}else {
unicodeKey = keysymToUnicode( keysym[0], ev.get_state() );
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("--XWindow.java XIM did NOT process event, hex keysym:"+Long.toHexString(keysym[0])+"\n"+
" unicode key:"+Integer.toHexString((int)unicodeKey));
}
}
}else {
// No input method instance found. For example, there's a Java Input Method.
// Produce do-it-yourself keysym and perhaps unicode character.
keysym[0] = xkeycodeToKeysym(ev);
unicodeKey = keysymToUnicode( keysym[0], ev.get_state() );
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("--XWindow.java XIM is absent; hex keysym:"+Long.toHexString(keysym[0])+"\n"+
" unicode key:"+Integer.toHexString((int)unicodeKey));
}
}
// Keysym should be converted to Unicode, if possible and necessary,
--- 1095,1130 ----
final void handleKeyPress(XKeyEvent ev) {
long keysym[] = new long[2];
int unicodeKey = 0;
keysym[0] = XConstants.NoSymbol;
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
logIncomingKeyEvent( ev );
}
if ( //TODO check if there's an active input method instance
// without calling a native method. Is it necessary though?
haveCurrentX11InputMethodInstance()) {
if (x11inputMethodLookupString(ev.pData, keysym)) {
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("--XWindow.java XIM did process event; return; dec keysym processed:"+(keysym[0])+
"; hex keysym processed:"+Long.toHexString(keysym[0])
);
}
return;
}else {
unicodeKey = keysymToUnicode( keysym[0], ev.get_state() );
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("--XWindow.java XIM did NOT process event, hex keysym:"+Long.toHexString(keysym[0])+"\n"+
" unicode key:"+Integer.toHexString((int)unicodeKey));
}
}
}else {
// No input method instance found. For example, there's a Java Input Method.
// Produce do-it-yourself keysym and perhaps unicode character.
keysym[0] = xkeycodeToKeysym(ev);
unicodeKey = keysymToUnicode( keysym[0], ev.get_state() );
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("--XWindow.java XIM is absent; hex keysym:"+Long.toHexString(keysym[0])+"\n"+
" unicode key:"+Integer.toHexString((int)unicodeKey));
}
}
// Keysym should be converted to Unicode, if possible and necessary,
*** 1146,1156 ****
// Take the first keysym from a keysym array associated with the XKeyevent
// and convert it to Unicode. Then, even if a Java keycode for the keystroke
// is undefined, we still have a guess of what has been engraved on a keytop.
int unicodeFromPrimaryKeysym = keysymToUnicode( xkeycodeToPrimaryKeysym(ev) ,0);
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine(">>>Fire Event:"+
(ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
"jkeycode:decimal="+jkc.getJavaKeycode()+
", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
" legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
--- 1146,1156 ----
// Take the first keysym from a keysym array associated with the XKeyevent
// and convert it to Unicode. Then, even if a Java keycode for the keystroke
// is undefined, we still have a guess of what has been engraved on a keytop.
int unicodeFromPrimaryKeysym = keysymToUnicode( xkeycodeToPrimaryKeysym(ev) ,0);
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine(">>>Fire Event:"+
(ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
"jkeycode:decimal="+jkc.getJavaKeycode()+
", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
" legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
*** 1171,1181 ****
unicodeFromPrimaryKeysym,
jkeyExtended);
if (unicodeKey > 0 && !isDeadKey) {
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine("fire _TYPED on "+unicodeKey);
}
postKeyEvent( java.awt.event.KeyEvent.KEY_TYPED,
ev.get_time(),
java.awt.event.KeyEvent.VK_UNDEFINED,
--- 1171,1181 ----
unicodeFromPrimaryKeysym,
jkeyExtended);
if (unicodeKey > 0 && !isDeadKey) {
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine("fire _TYPED on "+unicodeKey);
}
postKeyEvent( java.awt.event.KeyEvent.KEY_TYPED,
ev.get_time(),
java.awt.event.KeyEvent.VK_UNDEFINED,
*** 1191,1201 ****
}
public void handleKeyRelease(XEvent xev) {
super.handleKeyRelease(xev);
XKeyEvent ev = xev.get_xkey();
! if (eventLog.isLoggable(PlatformLogger.FINE)) {
eventLog.fine(ev.toString());
}
if (isEventDisabled(xev)) {
return;
}
--- 1191,1201 ----
}
public void handleKeyRelease(XEvent xev) {
super.handleKeyRelease(xev);
XKeyEvent ev = xev.get_xkey();
! if (eventLog.isLoggable(PlatformLogger.Level.FINE)) {
eventLog.fine(ev.toString());
}
if (isEventDisabled(xev)) {
return;
}
*** 1203,1213 ****
}
// un-private it if you need to call it from elsewhere
private void handleKeyRelease(XKeyEvent ev) {
int unicodeKey = 0;
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
logIncomingKeyEvent( ev );
}
// Keysym should be converted to Unicode, if possible and necessary,
// and Java KeyEvent keycode should be calculated.
// For release we should post released event.
--- 1203,1213 ----
}
// un-private it if you need to call it from elsewhere
private void handleKeyRelease(XKeyEvent ev) {
int unicodeKey = 0;
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
logIncomingKeyEvent( ev );
}
// Keysym should be converted to Unicode, if possible and necessary,
// and Java KeyEvent keycode should be calculated.
// For release we should post released event.
*** 1218,1228 ****
XKeysym.Keysym2JavaKeycode jkc = isDeadKey ? XKeysym.getJavaKeycode(keysym)
: XKeysym.getJavaKeycode(ev);
if( jkc == null ) {
jkc = new XKeysym.Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN);
}
! if (keyEventLog.isLoggable(PlatformLogger.FINE)) {
keyEventLog.fine(">>>Fire Event:"+
(ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
"jkeycode:decimal="+jkc.getJavaKeycode()+
", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
" legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
--- 1218,1228 ----
XKeysym.Keysym2JavaKeycode jkc = isDeadKey ? XKeysym.getJavaKeycode(keysym)
: XKeysym.getJavaKeycode(ev);
if( jkc == null ) {
jkc = new XKeysym.Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN);
}
! if (keyEventLog.isLoggable(PlatformLogger.Level.FINE)) {
keyEventLog.fine(">>>Fire Event:"+
(ev.get_type() == XConstants.KeyPress ? "KEY_PRESSED; " : "KEY_RELEASED; ")+
"jkeycode:decimal="+jkc.getJavaKeycode()+
", hex=0x"+Integer.toHexString(jkc.getJavaKeycode())+"; "+
" legacy jkeycode: decimal="+XKeysym.getLegacyJavaKeycodeOnly(ev)+
*** 1355,1385 ****
}
void updateSizeHints(int x, int y, int width, int height) {
long flags = XUtilConstants.PSize | (isLocationByPlatform() ? 0 : (XUtilConstants.PPosition | XUtilConstants.USPosition));
if (!isResizable()) {
! if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("Window {0} is not resizable", this);
}
flags |= XUtilConstants.PMinSize | XUtilConstants.PMaxSize;
} else {
! if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("Window {0} is resizable", this);
}
}
setSizeHints(flags, x, y, width, height);
}
void updateSizeHints(int x, int y) {
long flags = isLocationByPlatform() ? 0 : (XUtilConstants.PPosition | XUtilConstants.USPosition);
if (!isResizable()) {
! if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("Window {0} is not resizable", this);
}
flags |= XUtilConstants.PMinSize | XUtilConstants.PMaxSize | XUtilConstants.PSize;
} else {
! if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("Window {0} is resizable", this);
}
}
setSizeHints(flags, x, y, width, height);
}
--- 1355,1385 ----
}
void updateSizeHints(int x, int y, int width, int height) {
long flags = XUtilConstants.PSize | (isLocationByPlatform() ? 0 : (XUtilConstants.PPosition | XUtilConstants.USPosition));
if (!isResizable()) {
! if (log.isLoggable(PlatformLogger.Level.FINER)) {
log.finer("Window {0} is not resizable", this);
}
flags |= XUtilConstants.PMinSize | XUtilConstants.PMaxSize;
} else {
! if (log.isLoggable(PlatformLogger.Level.FINER)) {
log.finer("Window {0} is resizable", this);
}
}
setSizeHints(flags, x, y, width, height);
}
void updateSizeHints(int x, int y) {
long flags = isLocationByPlatform() ? 0 : (XUtilConstants.PPosition | XUtilConstants.USPosition);
if (!isResizable()) {
! if (log.isLoggable(PlatformLogger.Level.FINER)) {
log.finer("Window {0} is not resizable", this);
}
flags |= XUtilConstants.PMinSize | XUtilConstants.PMaxSize | XUtilConstants.PSize;
} else {
! if (log.isLoggable(PlatformLogger.Level.FINER)) {
log.finer("Window {0} is resizable", this);
}
}
setSizeHints(flags, x, y, width, height);
}