*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c index b5381e9..7e4441b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c
@@ -860,6 +860,12 @@ } } +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1depth + (JNIEnv *env, jclass that, jint drawable) +{ + return (jint)gdk_drawable_get_depth((GdkDrawable*)drawable); +} + JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1origin (JNIEnv *env, jclass that, jint window, jintArray x, jintArray y) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk1x/library/swt-gdk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk1x/library/swt-gdk.c index b5381e9..7e4441b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk1x/library/swt-gdk.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk1x/library/swt-gdk.c
@@ -860,6 +860,12 @@ } } +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1depth + (JNIEnv *env, jclass that, jint drawable) +{ + return (jint)gdk_drawable_get_depth((GdkDrawable*)drawable); +} + JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1origin (JNIEnv *env, jclass that, jint window, jintArray x, jintArray y) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java index b8ba9da..a7953b3 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
@@ -268,8 +268,7 @@ FontData[] answer; // if (faceName==null) { answer = new FontData[2]; - answer[0] = new FontData("Sans"); - answer[1] = new FontData("Serif"); + answer[0] = new FontData("helvetica", 12, SWT.ROMAN); // } return answer; } @@ -277,7 +276,7 @@ FontData[] answer; // if (faceName==null) { answer = new FontData[1]; - answer[0] = new FontData("Monospace"); + answer[0] = new FontData("fixed", 12, SWT.ROMAN); // } return answer; }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java index 4633a87..d4ea812 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
@@ -34,10 +34,10 @@ * </p> */ public class TabFolder extends Composite { - int notebookHandle; + + int topHandle; TabItem [] items; - /* * == CONSTRUCTORS == */ @@ -75,42 +75,40 @@ } /* - * == HANDLE DANCES, FIRST SPECIES == + * == Handle code == */ void createHandle (int index) { state |= HANDLE; - eventBoxHandle = OS.gtk_event_box_new(); - fixedHandle = OS.gtk_fixed_new (); - notebookHandle = OS.gtk_notebook_new (); - handle = OS.gtk_fixed_new(); + topHandle = OS.eclipse_fixed_new(); + handle = OS.gtk_notebook_new (); + boxHandle = OS.gtk_event_box_new(); + fixedHandle = OS.eclipse_fixed_new (); } void configure () { - _connectParent(); - OS.gtk_container_add(eventBoxHandle, fixedHandle); - OS.gtk_fixed_put (fixedHandle, notebookHandle, (short)0, (short)0); - OS.gtk_fixed_put (fixedHandle, handle, (short)2, (short)33); + parent._connectChild(topHandle); + OS.gtk_container_add(topHandle, handle); + OS.gtk_container_add(topHandle, boxHandle); + OS.gtk_container_add(boxHandle, fixedHandle); + OS.eclipse_fixed_set_location(topHandle, boxHandle, 2, 33); /* FIXME */ } void showHandle() { - OS.gtk_widget_show(eventBoxHandle); - OS.gtk_widget_show(fixedHandle); - OS.gtk_widget_show(notebookHandle); + OS.gtk_widget_show(topHandle); OS.gtk_widget_show(handle); - OS.gtk_widget_realize (notebookHandle); - OS.gtk_widget_realize (handle); + OS.gtk_widget_show(boxHandle); + OS.gtk_widget_show(fixedHandle); } void register () { super.register (); - WidgetTable.put (notebookHandle, this); + WidgetTable.put (topHandle, this); } void hookEvents () { super.hookEvents (); - signal_connect (notebookHandle, "size_allocate", SWT.Resize, 3); - signal_connect (notebookHandle, "switch_page", SWT.Selection, 4); + signal_connect (handle, "switch_page", SWT.Selection, 4); } void createWidget (int index) { @@ -118,21 +116,18 @@ items = new TabItem [4]; } -int topHandle () { return eventBoxHandle; } -int paintHandle () { return notebookHandle; } -int parentingHandle () { return handle; } +int topHandle () { return topHandle; } +public int paintHandle () { return boxHandle; } /* can't do much :-( */ +int parentingHandle () { return fixedHandle; } boolean isMyHandle(int h) { - if (h==eventBoxHandle) return true; - if (h==notebookHandle) return true; - if (h==fixedHandle) return true; - if (h==handle) return true; - return false; + if (h==topHandle) return true; + return super.isMyHandle(h); } public Point computeSize (int wHint, int hHint, boolean changed) { checkWidget (); //notebookHandle - int width = _computeSize(wHint, hHint, changed).x; +/* int width = _computeSize(wHint, hHint, changed).x; int height = 0; Point size; if (layout != null) { @@ -148,36 +143,37 @@ height = Math.max (height, size.y); Rectangle trim = computeTrim (0, 0, width, height); width = trim.width; height = trim.height; - return new Point (width, height); + return new Point (width, height);*/ + /* FIXME */ + return new Point(300,300); } /** -* Computes the widget trim. -*/ + * Computes the widget trim. + */ public Rectangle computeTrim (int x, int y, int width, int height) { checkWidget(); return new Rectangle(x-2, y-33, width+4, height+35); } /* - **** Layout code **** + * === Layout code === */ -boolean _setSize(int width, int height) { - boolean differentExtent = UtilFuncs.setSize(eventBoxHandle, width,height); - UtilFuncs.setSize (fixedHandle, width,height); - UtilFuncs.setSize (notebookHandle, width,height); - UtilFuncs.setSize (handle, width-4, height-35); +void _setSize(int width, int height) { + OS.eclipse_fixed_set_size(parent.parentingHandle(), topHandle(), width, height); + /* FIXME */ + int w = Math.max(width - 4, 1); + int h = Math.max(height - 35, 1); + OS.eclipse_fixed_set_size(topHandle, handle, w, h); layoutCurrent(); - return differentExtent; } public Rectangle getClientArea () { checkWidget(); - org.eclipse.swt.graphics.Point size = _getSize(); - int x = Math.max(size.x-4, 3); - int y = Math.max(size.y-35, 3); - return new Rectangle(0,0, x, y); + int[] sz = new int[2]; + OS.eclipse_fixed_get_size(topHandle, boxHandle, sz); + return new Rectangle(0,0, sz[0], sz[1]); } void layoutCurrent() { @@ -190,7 +186,7 @@ } void createItem (TabItem item, int index) { - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); if (!(0 <= index && index <= itemCount)) error (SWT.ERROR_ITEM_NOT_ADDED); if (itemCount == items.length) { @@ -200,16 +196,15 @@ } // create a new label - byte [] buffer = new byte [] {0}; - int labelHandle = OS.gtk_label_new (buffer); + int labelHandle = OS.gtk_label_new (""); // create a new fake page - int stubPage = OS.gtk_fixed_new(); + int stubPage = OS.eclipse_fixed_new(); // put the label and the fake page inside the notebook - OS.gtk_signal_handler_block_by_data (notebookHandle, SWT.Selection); - OS.gtk_notebook_append_page(notebookHandle, stubPage, labelHandle); - OS.gtk_signal_handler_unblock_by_data (notebookHandle, SWT.Selection); + OS.gtk_signal_handler_block_by_data (handle, SWT.Selection); + OS.gtk_notebook_append_page(handle, stubPage, labelHandle); + OS.gtk_signal_handler_unblock_by_data (handle, SWT.Selection); OS.gtk_widget_show(labelHandle); OS.gtk_widget_show(stubPage); @@ -218,7 +213,7 @@ item.handle = labelHandle; System.arraycopy (items, index, items, index + 1, itemCount++ - index); items [index] = item; - OS.gtk_notebook_set_show_tabs (notebookHandle, true); + OS.gtk_notebook_set_show_tabs (handle, true); } /** @@ -262,7 +257,7 @@ index++; } if (index == itemCount) error (SWT.ERROR_ITEM_NOT_REMOVED); - OS.gtk_notebook_remove_page (notebookHandle, index); + OS.gtk_notebook_remove_page (handle, index); System.arraycopy (items, index + 1, items, index, --itemCount - index); items [itemCount] = null; item.handle = 0; @@ -284,9 +279,8 @@ */ public TabItem getItem (int index) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int list = OS.gtk_container_children (notebookHandle); + checkWidget(); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); if (!(0 <= index && index < itemCount)) error (SWT.ERROR_CANNOT_GET_ITEM); return items [index]; @@ -302,10 +296,9 @@ * </ul> */ public int getItemCount () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); //return itemCount; - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); return OS.g_list_length (list); } /** @@ -325,9 +318,8 @@ * </ul> */ public TabItem [] getItems () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int list = OS.gtk_container_children (notebookHandle); + checkWidget(); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); TabItem [] result = new TabItem [itemCount]; System.arraycopy (items, 0, result, 0, itemCount); @@ -350,9 +342,8 @@ * </ul> */ public TabItem [] getSelection () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int index = OS.gtk_notebook_get_current_page (notebookHandle); + checkWidget(); + int index = OS.gtk_notebook_get_current_page (handle); if (index == -1) return new TabItem [0]; return new TabItem [] {items [index]}; } @@ -368,9 +359,8 @@ * </ul> */ public int getSelectionIndex () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - return OS.gtk_notebook_get_current_page (notebookHandle); + checkWidget(); + return OS.gtk_notebook_get_current_page (handle); } /** @@ -391,10 +381,9 @@ * </ul> */ public int indexOf (TabItem item) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); if (item == null) error (SWT.ERROR_NULL_ARGUMENT); - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); for (int i=0; i<itemCount; i++) { if (items [i] == item) return i; @@ -403,7 +392,7 @@ } int processSelection (int int0, int int1, int int2) { - int index = OS.gtk_notebook_get_current_page (notebookHandle); + int index = OS.gtk_notebook_get_current_page (handle); if (index != -1) { Control control = items [index].getControl (); if (control != null && !control.isDisposed ()) { @@ -462,9 +451,9 @@ public void setSelection (int index) { checkWidget(); if (index == -1) return; - OS.gtk_signal_handler_block_by_data (notebookHandle, SWT.Selection); - OS.gtk_notebook_set_page (notebookHandle, index); - OS.gtk_signal_handler_unblock_by_data (notebookHandle, SWT.Selection); + OS.gtk_signal_handler_block_by_data (handle, SWT.Selection); + OS.gtk_notebook_set_page (handle, index); + OS.gtk_signal_handler_unblock_by_data (handle, SWT.Selection); } /** @@ -480,8 +469,7 @@ * </ul> */ public void setSelection (TabItem [] items) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); if (items == null) error (SWT.ERROR_NULL_ARGUMENT); if (items.length == 0) { setSelection (-1); @@ -499,11 +487,11 @@ void deregister () { super.deregister (); - WidgetTable.remove (notebookHandle); + WidgetTable.remove (topHandle); } void releaseChildren() { - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); for (int i=0; i<itemCount; i++) { TabItem item = items [i]; @@ -530,7 +518,7 @@ void releaseHandle () { super.releaseHandle (); - notebookHandle = 0; + boxHandle = 0; } void releaseWidget () {
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 a110536..c84686e 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
@@ -89,14 +89,9 @@ return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0); } -Point _getClientAreaSize () { - return UtilFuncs.getSize(handle); -} - -boolean _setSize(int width, int height) { - if (!UtilFuncs.setSize (eventBoxHandle, width, height)) return false; - UtilFuncs.setSize (scrolledHandle, width, height); - return true; +void _setSize(int width, int height) { + OS.eclipse_fixed_set_size(parent.parentingHandle(), topHandle(), width, height); + OS.eclipse_fixed_set_size(fixedHandle, scrolledHandle, width, height); } /** @@ -163,23 +158,16 @@ public Point computeSize (int wHint, int hHint, boolean changed) { checkWidget (); if (wHint == SWT.DEFAULT) wHint = 200; - return _computeSize (wHint, hHint, changed); -} - -void configure() { - _connectParent(); - OS.gtk_container_add(eventBoxHandle, fixedHandle); - OS.gtk_fixed_put (fixedHandle, scrolledHandle, (short)0, (short)0); - OS.gtk_container_add (scrolledHandle, handle); + return computeNativeSize (scrolledHandle, wHint, hHint, changed); } void createHandle (int index) { state |= HANDLE; - eventBoxHandle = OS.gtk_event_box_new(); - if (eventBoxHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); + boxHandle = OS.gtk_event_box_new(); + if (boxHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); - fixedHandle = OS.gtk_fixed_new (); + fixedHandle = OS.eclipse_fixed_new (); if (fixedHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); scrolledHandle = OS.gtk_scrolled_window_new(0,0); @@ -188,13 +176,30 @@ handle = OS.gtk_ctree_new (1, 0); if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES); } +void configure() { + parent._connectChild(topHandle()); + OS.gtk_container_add (boxHandle, fixedHandle); + OS.gtk_container_add (fixedHandle, scrolledHandle); + OS.gtk_container_add (scrolledHandle, handle); +} + +void hookEvents () { + //TO DO - get rid of enter/exit for mouse crossing border + super.hookEvents (); + signal_connect (handle, "tree_select_row", SWT.Selection, 4); + signal_connect (handle, "tree_unselect_row", SWT.Selection, 4); + signal_connect (handle, "tree_expand", SWT.Expand, 3); + signal_connect (handle, "tree_collapse", SWT.Collapse, 3); +} + +int topHandle() { return boxHandle; } +int parentingHandle() { return fixedHandle; } int createCheckPixmap(boolean checked) { /* * The box will occupy the whole item width. */ - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int check_height = clist.row_height-1; int check_width = check_height; @@ -313,8 +318,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Index = 0; @@ -383,8 +387,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Count = 0; @@ -408,8 +411,7 @@ */ public int getItemHeight () { checkWidget (); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); return clist.row_height + CELL_SPACING; } @@ -439,8 +441,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Count = 0; @@ -494,8 +495,7 @@ */ public TreeItem[] getSelection () { checkWidget(); - GtkCList clist = new GtkCList(); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList(handle); if (clist.selection == 0) return new TreeItem [0]; int length = OS.g_list_length (clist.selection); TreeItem [] result = new TreeItem [length]; @@ -519,8 +519,7 @@ */ public int getSelectionCount () { checkWidget(); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (clist.selection == 0) return 0; return OS.g_list_length (clist.selection); } @@ -555,25 +554,6 @@ return 0; } -void hookEvents () { - //TO DO - get rid of enter/exit for mouse crossing border - super.hookEvents (); - signal_connect (handle, "tree_select_row", SWT.Selection, 4); - signal_connect (handle, "tree_unselect_row", SWT.Selection, 4); - signal_connect (handle, "tree_expand", SWT.Expand, 3); - signal_connect (handle, "tree_collapse", SWT.Collapse, 3); -} - -int topHandle() { return eventBoxHandle; } -int parentingHandle() { return fixedHandle; } - -boolean isMyHandle(int h) { - if (h==fixedHandle) return true; - if (h==scrolledHandle) return true; - if (h==handle) return true; - return false; -} - int processCollapse (int int0, int int1, int int2) { int index = OS.gtk_ctree_node_get_row_data (handle, int0) - 1; Event event = new Event (); @@ -609,7 +589,7 @@ int processMouseDown (int callData, int arg1, int int2) { doubleSelected = false; int result = super.processMouseDown (callData, arg1, int2); - if ((style & SWT.MULTI) != 0) selected = true; +/* if ((style & SWT.MULTI) != 0) selected = true; double[] px = new double[1]; double[] py = new double[1]; OS.gdk_event_get_coords(callData, px, py); @@ -621,10 +601,8 @@ if (code != 0) { int node = OS.gtk_ctree_node_nth (handle, row [0]); int crow = OS.g_list_nth_data (node, 0); - GtkCTreeRow row_data = new GtkCTreeRow (); - OS.memmove (row_data, crow); - GtkCTree ctree = new GtkCTree(); - OS.memmove (ctree, handle); + GtkCTreeRow row_data = new GtkCTreeRow (crow); + GtkCTree ctree = new GtkCTree(handle); int nX = ctree.hoffset + ctree.tree_indent * row_data.level - 2; int nY = ctree.voffset + (ctree.row_height + 1) * row [0] + 2; int [] unused = new int [1], check_width = new int [1], check_height = new int [1]; @@ -655,7 +633,7 @@ int code = OS.gtk_clist_get_selection_info (handle, x, y, row, column); if (code != 0) doubleSelected = true; } - } + }*/ return result; } @@ -679,8 +657,7 @@ int x = (int)(px[0]), y = (int)(py[0]); if (!OS.gtk_ctree_is_hot_spot (handle, x, y)) { if ((style & SWT.SINGLE) != 0) { - GtkCList clist = new GtkCList (); - OS.memmove(clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int list = clist.selection; if (list != 0 && OS.g_list_length (list) != 0) { int node = OS.g_list_nth_data (list, 0); @@ -700,8 +677,7 @@ int code = OS.gtk_clist_get_selection_info (handle, x, y, row, column); if (code != 0) { int focus = OS.gtk_ctree_node_nth (handle, row [0]); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (selected && clist.selection != 0) { int length = OS.g_list_length (clist.selection); for (int i=0; i<length; i++) { @@ -731,8 +707,7 @@ selected = true; return 0; } - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int focus = OS.gtk_ctree_node_nth (handle, clist.focus_row); if (focus != int0) return 0; if ((style & SWT.MULTI) != 0) selected = false; @@ -888,19 +863,6 @@ if (index != length) error (SWT.ERROR_INVALID_ARGUMENT); } -void showHandle() { - OS.gtk_widget_show (eventBoxHandle); - OS.gtk_widget_show (fixedHandle); - OS.gtk_widget_show (scrolledHandle); - OS.gtk_widget_show (handle); - OS.gtk_widget_realize (handle); - - if ((style & SWT.CHECK) != 0) { - uncheck = createCheckPixmap(false); - check = createCheckPixmap(true); - } -} - /** * Shows the selection. If the selection is already showing in the receiver, * this method simply returns. Otherwise, the items are scrolled until @@ -918,8 +880,7 @@ */ public void showSelection () { checkWidget(); - GtkCList clist = new GtkCList (); - OS.memmove(clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (clist.selection == 0) return; if (OS.g_list_length (clist.selection) == 0) return; int node = OS.g_list_nth_data (clist.selection, 0); @@ -954,11 +915,11 @@ if (visibility != OS.GTK_VISIBILITY_NONE) return; if (!OS.gtk_ctree_is_viewable (handle, node)) { int parent = node; - GtkCTreeRow row = new GtkCTreeRow (); + GtkCTreeRow row; OS.gtk_signal_handler_block_by_data (handle, SWT.Expand); do { int data = OS.g_list_nth_data (parent, 0); - OS.memmove (row, data, GtkCTreeRow.sizeof); + row = new GtkCTreeRow(data); if ((parent = row.parent) == 0) break; OS.gtk_ctree_expand (handle, parent); } while (true);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java index 870ca3c..ed65b5a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
@@ -194,9 +194,8 @@ */ public Rectangle getBounds () { int ctree = parent.handle; - GtkCTree tree = new GtkCTree(); - OS.memmove(tree, ctree, GtkCTree.sizeof); - + GtkCTree tree = new GtkCTree(ctree); +/* double haj = OS.gtk_adjustment_get_value(tree.hadjustment); double vaj = OS.gtk_adjustment_get_value(tree.vadjustment); @@ -229,14 +228,14 @@ int styleHandle = OS.gtk_ctree_node_get_row_style(ctree, handle); if (styleHandle == 0) styleHandle = OS.gtk_widget_get_style(ctree); - GtkStyle style = new GtkStyle(styleHandle); + GtkStyle style = new GtkStyle(styleHandle);*/ /* FIXME */ int width = 50; /*OS.gdk_string_width(style.font, buffer1);*/ // x = (short)column.area_x+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset; - int x = 33+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset; +/* int x = 33+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset;*/ - return new Rectangle (x, y, width, height); + return new Rectangle (0, 0, 40, 10); } /** @@ -371,8 +370,7 @@ public TreeItem getParentItem () { checkWidget(); int data = OS.g_list_nth_data (handle, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data, GtkCTreeRow.sizeof); + GtkCTreeRow row = new GtkCTreeRow (data); if (row.parent == 0) return null; int ctree = parent.handle; int index = OS.gtk_ctree_node_get_row_data (ctree, row.parent) - 1;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/graphics/Device.java index b8ba9da..a7953b3 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/graphics/Device.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/graphics/Device.java
@@ -268,8 +268,7 @@ FontData[] answer; // if (faceName==null) { answer = new FontData[2]; - answer[0] = new FontData("Sans"); - answer[1] = new FontData("Serif"); + answer[0] = new FontData("helvetica", 12, SWT.ROMAN); // } return answer; } @@ -277,7 +276,7 @@ FontData[] answer; // if (faceName==null) { answer = new FontData[1]; - answer[0] = new FontData("Monospace"); + answer[0] = new FontData("fixed", 12, SWT.ROMAN); // } return answer; }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TabFolder.java index 4633a87..d4ea812 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TabFolder.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TabFolder.java
@@ -34,10 +34,10 @@ * </p> */ public class TabFolder extends Composite { - int notebookHandle; + + int topHandle; TabItem [] items; - /* * == CONSTRUCTORS == */ @@ -75,42 +75,40 @@ } /* - * == HANDLE DANCES, FIRST SPECIES == + * == Handle code == */ void createHandle (int index) { state |= HANDLE; - eventBoxHandle = OS.gtk_event_box_new(); - fixedHandle = OS.gtk_fixed_new (); - notebookHandle = OS.gtk_notebook_new (); - handle = OS.gtk_fixed_new(); + topHandle = OS.eclipse_fixed_new(); + handle = OS.gtk_notebook_new (); + boxHandle = OS.gtk_event_box_new(); + fixedHandle = OS.eclipse_fixed_new (); } void configure () { - _connectParent(); - OS.gtk_container_add(eventBoxHandle, fixedHandle); - OS.gtk_fixed_put (fixedHandle, notebookHandle, (short)0, (short)0); - OS.gtk_fixed_put (fixedHandle, handle, (short)2, (short)33); + parent._connectChild(topHandle); + OS.gtk_container_add(topHandle, handle); + OS.gtk_container_add(topHandle, boxHandle); + OS.gtk_container_add(boxHandle, fixedHandle); + OS.eclipse_fixed_set_location(topHandle, boxHandle, 2, 33); /* FIXME */ } void showHandle() { - OS.gtk_widget_show(eventBoxHandle); - OS.gtk_widget_show(fixedHandle); - OS.gtk_widget_show(notebookHandle); + OS.gtk_widget_show(topHandle); OS.gtk_widget_show(handle); - OS.gtk_widget_realize (notebookHandle); - OS.gtk_widget_realize (handle); + OS.gtk_widget_show(boxHandle); + OS.gtk_widget_show(fixedHandle); } void register () { super.register (); - WidgetTable.put (notebookHandle, this); + WidgetTable.put (topHandle, this); } void hookEvents () { super.hookEvents (); - signal_connect (notebookHandle, "size_allocate", SWT.Resize, 3); - signal_connect (notebookHandle, "switch_page", SWT.Selection, 4); + signal_connect (handle, "switch_page", SWT.Selection, 4); } void createWidget (int index) { @@ -118,21 +116,18 @@ items = new TabItem [4]; } -int topHandle () { return eventBoxHandle; } -int paintHandle () { return notebookHandle; } -int parentingHandle () { return handle; } +int topHandle () { return topHandle; } +public int paintHandle () { return boxHandle; } /* can't do much :-( */ +int parentingHandle () { return fixedHandle; } boolean isMyHandle(int h) { - if (h==eventBoxHandle) return true; - if (h==notebookHandle) return true; - if (h==fixedHandle) return true; - if (h==handle) return true; - return false; + if (h==topHandle) return true; + return super.isMyHandle(h); } public Point computeSize (int wHint, int hHint, boolean changed) { checkWidget (); //notebookHandle - int width = _computeSize(wHint, hHint, changed).x; +/* int width = _computeSize(wHint, hHint, changed).x; int height = 0; Point size; if (layout != null) { @@ -148,36 +143,37 @@ height = Math.max (height, size.y); Rectangle trim = computeTrim (0, 0, width, height); width = trim.width; height = trim.height; - return new Point (width, height); + return new Point (width, height);*/ + /* FIXME */ + return new Point(300,300); } /** -* Computes the widget trim. -*/ + * Computes the widget trim. + */ public Rectangle computeTrim (int x, int y, int width, int height) { checkWidget(); return new Rectangle(x-2, y-33, width+4, height+35); } /* - **** Layout code **** + * === Layout code === */ -boolean _setSize(int width, int height) { - boolean differentExtent = UtilFuncs.setSize(eventBoxHandle, width,height); - UtilFuncs.setSize (fixedHandle, width,height); - UtilFuncs.setSize (notebookHandle, width,height); - UtilFuncs.setSize (handle, width-4, height-35); +void _setSize(int width, int height) { + OS.eclipse_fixed_set_size(parent.parentingHandle(), topHandle(), width, height); + /* FIXME */ + int w = Math.max(width - 4, 1); + int h = Math.max(height - 35, 1); + OS.eclipse_fixed_set_size(topHandle, handle, w, h); layoutCurrent(); - return differentExtent; } public Rectangle getClientArea () { checkWidget(); - org.eclipse.swt.graphics.Point size = _getSize(); - int x = Math.max(size.x-4, 3); - int y = Math.max(size.y-35, 3); - return new Rectangle(0,0, x, y); + int[] sz = new int[2]; + OS.eclipse_fixed_get_size(topHandle, boxHandle, sz); + return new Rectangle(0,0, sz[0], sz[1]); } void layoutCurrent() { @@ -190,7 +186,7 @@ } void createItem (TabItem item, int index) { - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); if (!(0 <= index && index <= itemCount)) error (SWT.ERROR_ITEM_NOT_ADDED); if (itemCount == items.length) { @@ -200,16 +196,15 @@ } // create a new label - byte [] buffer = new byte [] {0}; - int labelHandle = OS.gtk_label_new (buffer); + int labelHandle = OS.gtk_label_new (""); // create a new fake page - int stubPage = OS.gtk_fixed_new(); + int stubPage = OS.eclipse_fixed_new(); // put the label and the fake page inside the notebook - OS.gtk_signal_handler_block_by_data (notebookHandle, SWT.Selection); - OS.gtk_notebook_append_page(notebookHandle, stubPage, labelHandle); - OS.gtk_signal_handler_unblock_by_data (notebookHandle, SWT.Selection); + OS.gtk_signal_handler_block_by_data (handle, SWT.Selection); + OS.gtk_notebook_append_page(handle, stubPage, labelHandle); + OS.gtk_signal_handler_unblock_by_data (handle, SWT.Selection); OS.gtk_widget_show(labelHandle); OS.gtk_widget_show(stubPage); @@ -218,7 +213,7 @@ item.handle = labelHandle; System.arraycopy (items, index, items, index + 1, itemCount++ - index); items [index] = item; - OS.gtk_notebook_set_show_tabs (notebookHandle, true); + OS.gtk_notebook_set_show_tabs (handle, true); } /** @@ -262,7 +257,7 @@ index++; } if (index == itemCount) error (SWT.ERROR_ITEM_NOT_REMOVED); - OS.gtk_notebook_remove_page (notebookHandle, index); + OS.gtk_notebook_remove_page (handle, index); System.arraycopy (items, index + 1, items, index, --itemCount - index); items [itemCount] = null; item.handle = 0; @@ -284,9 +279,8 @@ */ public TabItem getItem (int index) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int list = OS.gtk_container_children (notebookHandle); + checkWidget(); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); if (!(0 <= index && index < itemCount)) error (SWT.ERROR_CANNOT_GET_ITEM); return items [index]; @@ -302,10 +296,9 @@ * </ul> */ public int getItemCount () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); //return itemCount; - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); return OS.g_list_length (list); } /** @@ -325,9 +318,8 @@ * </ul> */ public TabItem [] getItems () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int list = OS.gtk_container_children (notebookHandle); + checkWidget(); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); TabItem [] result = new TabItem [itemCount]; System.arraycopy (items, 0, result, 0, itemCount); @@ -350,9 +342,8 @@ * </ul> */ public TabItem [] getSelection () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - int index = OS.gtk_notebook_get_current_page (notebookHandle); + checkWidget(); + int index = OS.gtk_notebook_get_current_page (handle); if (index == -1) return new TabItem [0]; return new TabItem [] {items [index]}; } @@ -368,9 +359,8 @@ * </ul> */ public int getSelectionIndex () { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); - return OS.gtk_notebook_get_current_page (notebookHandle); + checkWidget(); + return OS.gtk_notebook_get_current_page (handle); } /** @@ -391,10 +381,9 @@ * </ul> */ public int indexOf (TabItem item) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); if (item == null) error (SWT.ERROR_NULL_ARGUMENT); - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); for (int i=0; i<itemCount; i++) { if (items [i] == item) return i; @@ -403,7 +392,7 @@ } int processSelection (int int0, int int1, int int2) { - int index = OS.gtk_notebook_get_current_page (notebookHandle); + int index = OS.gtk_notebook_get_current_page (handle); if (index != -1) { Control control = items [index].getControl (); if (control != null && !control.isDisposed ()) { @@ -462,9 +451,9 @@ public void setSelection (int index) { checkWidget(); if (index == -1) return; - OS.gtk_signal_handler_block_by_data (notebookHandle, SWT.Selection); - OS.gtk_notebook_set_page (notebookHandle, index); - OS.gtk_signal_handler_unblock_by_data (notebookHandle, SWT.Selection); + OS.gtk_signal_handler_block_by_data (handle, SWT.Selection); + OS.gtk_notebook_set_page (handle, index); + OS.gtk_signal_handler_unblock_by_data (handle, SWT.Selection); } /** @@ -480,8 +469,7 @@ * </ul> */ public void setSelection (TabItem [] items) { - if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS); - if (!isValidWidget ()) error (SWT.ERROR_WIDGET_DISPOSED); + checkWidget(); if (items == null) error (SWT.ERROR_NULL_ARGUMENT); if (items.length == 0) { setSelection (-1); @@ -499,11 +487,11 @@ void deregister () { super.deregister (); - WidgetTable.remove (notebookHandle); + WidgetTable.remove (topHandle); } void releaseChildren() { - int list = OS.gtk_container_children (notebookHandle); + int list = OS.gtk_container_children (handle); int itemCount = OS.g_list_length (list); for (int i=0; i<itemCount; i++) { TabItem item = items [i]; @@ -530,7 +518,7 @@ void releaseHandle () { super.releaseHandle (); - notebookHandle = 0; + boxHandle = 0; } void releaseWidget () {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/Tree.java index a110536..c84686e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/Tree.java
@@ -89,14 +89,9 @@ return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0); } -Point _getClientAreaSize () { - return UtilFuncs.getSize(handle); -} - -boolean _setSize(int width, int height) { - if (!UtilFuncs.setSize (eventBoxHandle, width, height)) return false; - UtilFuncs.setSize (scrolledHandle, width, height); - return true; +void _setSize(int width, int height) { + OS.eclipse_fixed_set_size(parent.parentingHandle(), topHandle(), width, height); + OS.eclipse_fixed_set_size(fixedHandle, scrolledHandle, width, height); } /** @@ -163,23 +158,16 @@ public Point computeSize (int wHint, int hHint, boolean changed) { checkWidget (); if (wHint == SWT.DEFAULT) wHint = 200; - return _computeSize (wHint, hHint, changed); -} - -void configure() { - _connectParent(); - OS.gtk_container_add(eventBoxHandle, fixedHandle); - OS.gtk_fixed_put (fixedHandle, scrolledHandle, (short)0, (short)0); - OS.gtk_container_add (scrolledHandle, handle); + return computeNativeSize (scrolledHandle, wHint, hHint, changed); } void createHandle (int index) { state |= HANDLE; - eventBoxHandle = OS.gtk_event_box_new(); - if (eventBoxHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); + boxHandle = OS.gtk_event_box_new(); + if (boxHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); - fixedHandle = OS.gtk_fixed_new (); + fixedHandle = OS.eclipse_fixed_new (); if (fixedHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES); scrolledHandle = OS.gtk_scrolled_window_new(0,0); @@ -188,13 +176,30 @@ handle = OS.gtk_ctree_new (1, 0); if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES); } +void configure() { + parent._connectChild(topHandle()); + OS.gtk_container_add (boxHandle, fixedHandle); + OS.gtk_container_add (fixedHandle, scrolledHandle); + OS.gtk_container_add (scrolledHandle, handle); +} + +void hookEvents () { + //TO DO - get rid of enter/exit for mouse crossing border + super.hookEvents (); + signal_connect (handle, "tree_select_row", SWT.Selection, 4); + signal_connect (handle, "tree_unselect_row", SWT.Selection, 4); + signal_connect (handle, "tree_expand", SWT.Expand, 3); + signal_connect (handle, "tree_collapse", SWT.Collapse, 3); +} + +int topHandle() { return boxHandle; } +int parentingHandle() { return fixedHandle; } int createCheckPixmap(boolean checked) { /* * The box will occupy the whole item width. */ - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int check_height = clist.row_height-1; int check_width = check_height; @@ -313,8 +318,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Index = 0; @@ -383,8 +387,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Count = 0; @@ -408,8 +411,7 @@ */ public int getItemHeight () { checkWidget (); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); return clist.row_height + CELL_SPACING; } @@ -439,8 +441,7 @@ int depth = 1; if (node != 0) { int data = OS.g_list_nth_data (node, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data); + GtkCTreeRow row = new GtkCTreeRow (data); depth = row.level + 1; } Count = 0; @@ -494,8 +495,7 @@ */ public TreeItem[] getSelection () { checkWidget(); - GtkCList clist = new GtkCList(); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList(handle); if (clist.selection == 0) return new TreeItem [0]; int length = OS.g_list_length (clist.selection); TreeItem [] result = new TreeItem [length]; @@ -519,8 +519,7 @@ */ public int getSelectionCount () { checkWidget(); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (clist.selection == 0) return 0; return OS.g_list_length (clist.selection); } @@ -555,25 +554,6 @@ return 0; } -void hookEvents () { - //TO DO - get rid of enter/exit for mouse crossing border - super.hookEvents (); - signal_connect (handle, "tree_select_row", SWT.Selection, 4); - signal_connect (handle, "tree_unselect_row", SWT.Selection, 4); - signal_connect (handle, "tree_expand", SWT.Expand, 3); - signal_connect (handle, "tree_collapse", SWT.Collapse, 3); -} - -int topHandle() { return eventBoxHandle; } -int parentingHandle() { return fixedHandle; } - -boolean isMyHandle(int h) { - if (h==fixedHandle) return true; - if (h==scrolledHandle) return true; - if (h==handle) return true; - return false; -} - int processCollapse (int int0, int int1, int int2) { int index = OS.gtk_ctree_node_get_row_data (handle, int0) - 1; Event event = new Event (); @@ -609,7 +589,7 @@ int processMouseDown (int callData, int arg1, int int2) { doubleSelected = false; int result = super.processMouseDown (callData, arg1, int2); - if ((style & SWT.MULTI) != 0) selected = true; +/* if ((style & SWT.MULTI) != 0) selected = true; double[] px = new double[1]; double[] py = new double[1]; OS.gdk_event_get_coords(callData, px, py); @@ -621,10 +601,8 @@ if (code != 0) { int node = OS.gtk_ctree_node_nth (handle, row [0]); int crow = OS.g_list_nth_data (node, 0); - GtkCTreeRow row_data = new GtkCTreeRow (); - OS.memmove (row_data, crow); - GtkCTree ctree = new GtkCTree(); - OS.memmove (ctree, handle); + GtkCTreeRow row_data = new GtkCTreeRow (crow); + GtkCTree ctree = new GtkCTree(handle); int nX = ctree.hoffset + ctree.tree_indent * row_data.level - 2; int nY = ctree.voffset + (ctree.row_height + 1) * row [0] + 2; int [] unused = new int [1], check_width = new int [1], check_height = new int [1]; @@ -655,7 +633,7 @@ int code = OS.gtk_clist_get_selection_info (handle, x, y, row, column); if (code != 0) doubleSelected = true; } - } + }*/ return result; } @@ -679,8 +657,7 @@ int x = (int)(px[0]), y = (int)(py[0]); if (!OS.gtk_ctree_is_hot_spot (handle, x, y)) { if ((style & SWT.SINGLE) != 0) { - GtkCList clist = new GtkCList (); - OS.memmove(clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int list = clist.selection; if (list != 0 && OS.g_list_length (list) != 0) { int node = OS.g_list_nth_data (list, 0); @@ -700,8 +677,7 @@ int code = OS.gtk_clist_get_selection_info (handle, x, y, row, column); if (code != 0) { int focus = OS.gtk_ctree_node_nth (handle, row [0]); - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (selected && clist.selection != 0) { int length = OS.g_list_length (clist.selection); for (int i=0; i<length; i++) { @@ -731,8 +707,7 @@ selected = true; return 0; } - GtkCList clist = new GtkCList (); - OS.memmove (clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); int focus = OS.gtk_ctree_node_nth (handle, clist.focus_row); if (focus != int0) return 0; if ((style & SWT.MULTI) != 0) selected = false; @@ -888,19 +863,6 @@ if (index != length) error (SWT.ERROR_INVALID_ARGUMENT); } -void showHandle() { - OS.gtk_widget_show (eventBoxHandle); - OS.gtk_widget_show (fixedHandle); - OS.gtk_widget_show (scrolledHandle); - OS.gtk_widget_show (handle); - OS.gtk_widget_realize (handle); - - if ((style & SWT.CHECK) != 0) { - uncheck = createCheckPixmap(false); - check = createCheckPixmap(true); - } -} - /** * Shows the selection. If the selection is already showing in the receiver, * this method simply returns. Otherwise, the items are scrolled until @@ -918,8 +880,7 @@ */ public void showSelection () { checkWidget(); - GtkCList clist = new GtkCList (); - OS.memmove(clist, handle, GtkCList.sizeof); + GtkCList clist = new GtkCList (handle); if (clist.selection == 0) return; if (OS.g_list_length (clist.selection) == 0) return; int node = OS.g_list_nth_data (clist.selection, 0); @@ -954,11 +915,11 @@ if (visibility != OS.GTK_VISIBILITY_NONE) return; if (!OS.gtk_ctree_is_viewable (handle, node)) { int parent = node; - GtkCTreeRow row = new GtkCTreeRow (); + GtkCTreeRow row; OS.gtk_signal_handler_block_by_data (handle, SWT.Expand); do { int data = OS.g_list_nth_data (parent, 0); - OS.memmove (row, data, GtkCTreeRow.sizeof); + row = new GtkCTreeRow(data); if ((parent = row.parent) == 0) break; OS.gtk_ctree_expand (handle, parent); } while (true);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TreeItem.java index 870ca3c..ed65b5a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk1x/org/eclipse/swt/widgets/TreeItem.java
@@ -194,9 +194,8 @@ */ public Rectangle getBounds () { int ctree = parent.handle; - GtkCTree tree = new GtkCTree(); - OS.memmove(tree, ctree, GtkCTree.sizeof); - + GtkCTree tree = new GtkCTree(ctree); +/* double haj = OS.gtk_adjustment_get_value(tree.hadjustment); double vaj = OS.gtk_adjustment_get_value(tree.vadjustment); @@ -229,14 +228,14 @@ int styleHandle = OS.gtk_ctree_node_get_row_style(ctree, handle); if (styleHandle == 0) styleHandle = OS.gtk_widget_get_style(ctree); - GtkStyle style = new GtkStyle(styleHandle); + GtkStyle style = new GtkStyle(styleHandle);*/ /* FIXME */ int width = 50; /*OS.gdk_string_width(style.font, buffer1);*/ // x = (short)column.area_x+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset; - int x = 33+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset; +/* int x = 33+tree.tree_indent*(level-1)+spacing[0]+tree.hoffset;*/ - return new Rectangle (x, y, width, height); + return new Rectangle (0, 0, 40, 10); } /** @@ -371,8 +370,7 @@ public TreeItem getParentItem () { checkWidget(); int data = OS.g_list_nth_data (handle, 0); - GtkCTreeRow row = new GtkCTreeRow (); - OS.memmove (row, data, GtkCTreeRow.sizeof); + GtkCTreeRow row = new GtkCTreeRow (data); if (row.parent == 0) return null; int ctree = parent.handle; int index = OS.gtk_ctree_node_get_row_data (ctree, row.parent) - 1;