diff options
author | Steve Northover <steve> | 2002-08-23 14:09:32 +0000 |
---|---|---|
committer | Steve Northover <steve> | 2002-08-23 14:09:32 +0000 |
commit | 41dec2f3eec3ed9fd8b0476cb17c5316d2f374c0 (patch) | |
tree | cb76c8fa9627ce9d8420c22756bf538b494d6e34 | |
parent | e623fd32c8b3f3d7fd6b35f3eb9586fefed449e5 (diff) | |
download | eclipse.platform.swt-41dec2f3eec3ed9fd8b0476cb17c5316d2f374c0.tar.gz eclipse.platform.swt-41dec2f3eec3ed9fd8b0476cb17c5316d2f374c0.tar.xz eclipse.platform.swt-41dec2f3eec3ed9fd8b0476cb17c5316d2f374c0.zip |
22721
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java | 12 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | 15 |
2 files changed, 24 insertions, 3 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java index 3d87bf2966..8de863123e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java @@ -881,10 +881,20 @@ int processKeyDown (int callData, int arg1, int int2) { case OS.GDK_space: { int focus_row = OS.GTK_CLIST_FOCUS_ROW (handle); if (focus_row != -1) { + TableItem item = items [focus_row]; + if (key == OS.GDK_space && (style & SWT.CHECK) != 0) { + if (item != null) item.setChecked (!item.getChecked ()); + } Event event = new Event (); - event.item = items [focus_row]; + event.item = item; int type = key == OS.GDK_space ? SWT.Selection : SWT.DefaultSelection; postEvent (type, event); + if (key == OS.GDK_space && (style & SWT.CHECK) != 0) { + event = new Event (); + event.item = item; + event.detail = SWT.CHECK; + postEvent (SWT.Selection, event); + } } break; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index 3477a178d0..b2b69a44f0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -622,14 +622,25 @@ int processKeyDown (int callData, int arg1, int int2) { case OS.GDK_space: { int focus_row = OS.GTK_CLIST_FOCUS_ROW (handle); if (focus_row != -1) { - Event event = new Event (); int focus = OS.gtk_ctree_node_nth (handle, focus_row); + TreeItem item = null; if (focus != 0) { int index = OS.gtk_ctree_node_get_row_data (handle, focus) - 1; - event.item = items [index]; + item = items [index]; + } + if (key == OS.GDK_space && (style & SWT.CHECK) != 0) { + if (item != null) item.setChecked (!item.getChecked ()); } + Event event = new Event (); + event.item = item; int type = key == OS.GDK_space ? SWT.Selection : SWT.DefaultSelection; postEvent (type, event); + if (key == OS.GDK_space && (style & SWT.CHECK) != 0) { + event = new Event (); + event.item = item; + event.detail = SWT.CHECK; + postEvent (SWT.Selection, event); + } } break; } |