|
Lines 38-43
Link Here
|
| 38 |
int tabs = 8, lastEventTime = 0; |
38 |
int tabs = 8, lastEventTime = 0; |
| 39 |
int /*long*/ gdkEventKey = 0; |
39 |
int /*long*/ gdkEventKey = 0; |
| 40 |
boolean doubleClick; |
40 |
boolean doubleClick; |
|
|
41 |
boolean inMenu; |
| 41 |
|
42 |
|
| 42 |
static final int INNER_BORDER = 2; |
43 |
static final int INNER_BORDER = 2; |
| 43 |
static final int ITER_SIZEOF = OS.GtkTextIter_sizeof(); |
44 |
static final int ITER_SIZEOF = OS.GtkTextIter_sizeof(); |
|
Lines 1022-1027
Link Here
|
| 1022 |
|
1023 |
|
| 1023 |
int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) { |
1024 |
int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) { |
| 1024 |
if (cursor != null) setCursor (cursor.handle); |
1025 |
if (cursor != null) setCursor (cursor.handle); |
|
|
1026 |
if (inMenu) { |
| 1027 |
GdkEvent event = new GdkEvent (); |
| 1028 |
OS.memmove (event, gdkEvent, GdkEvent.sizeof); |
| 1029 |
if (event.type == OS.GDK_FOCUS_CHANGE && widget == focusHandle ()) { |
| 1030 |
/* Block the FocusOut event */ |
| 1031 |
inMenu = false; |
| 1032 |
return 0; |
| 1033 |
} |
| 1034 |
} |
| 1025 |
return super.gtk_event_after (widget, gdkEvent); |
1035 |
return super.gtk_event_after (widget, gdkEvent); |
| 1026 |
} |
1036 |
} |
| 1027 |
|
1037 |
|
|
Lines 1098-1103
Link Here
|
| 1098 |
return result; |
1108 |
return result; |
| 1099 |
} |
1109 |
} |
| 1100 |
|
1110 |
|
|
|
1111 |
int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) { |
| 1112 |
inMenu = true; |
| 1113 |
return 0; |
| 1114 |
} |
| 1115 |
|
| 1101 |
int /*long*/ gtk_popup_menu (int /*long*/ widget) { |
1116 |
int /*long*/ gtk_popup_menu (int /*long*/ widget) { |
| 1102 |
int [] x = new int [1], y = new int [1]; |
1117 |
int [] x = new int [1], y = new int [1]; |
| 1103 |
OS.gdk_window_get_pointer (0, x, y, null); |
1118 |
OS.gdk_window_get_pointer (0, x, y, null); |
|
Lines 1115-1120
Link Here
|
| 1115 |
OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT); |
1130 |
OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT); |
| 1116 |
OS.g_signal_connect (handle, OS.delete_text, windowProc4, DELETE_TEXT); |
1131 |
OS.g_signal_connect (handle, OS.delete_text, windowProc4, DELETE_TEXT); |
| 1117 |
OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE); |
1132 |
OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE); |
|
|
1133 |
OS.g_signal_connect (handle, OS.populate_popup, windowProc3, POPULATE_POPUP); |
| 1118 |
} else { |
1134 |
} else { |
| 1119 |
OS.g_signal_connect (bufferHandle, OS.changed, windowProc2, CHANGED); |
1135 |
OS.g_signal_connect (bufferHandle, OS.changed, windowProc2, CHANGED); |
| 1120 |
OS.g_signal_connect (bufferHandle, OS.insert_text, windowProc5, INSERT_TEXT); |
1136 |
OS.g_signal_connect (bufferHandle, OS.insert_text, windowProc5, INSERT_TEXT); |