diff options
author | Leo Ufimtsev | 2018-04-02 15:03:58 +0000 |
---|---|---|
committer | Leo Ufimtsev | 2018-04-02 15:07:32 +0000 |
commit | df0f19367d6a5d86c149931bcaaff8c64002f986 (patch) | |
tree | 8bae6f4b6da528119d7ebaea9c713e1fcde08b80 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | |
parent | 6509033affd4772e7b337e8fb51b322edb474851 (diff) | |
download | eclipse.platform.swt-df0f19367d6a5d86c149931bcaaff8c64002f986.tar.gz eclipse.platform.swt-df0f19367d6a5d86c149931bcaaff8c64002f986.tar.xz eclipse.platform.swt-df0f19367d6a5d86c149931bcaaff8c64002f986.zip |
Revert "Bug 531048 [GTK3] Large problems drawing ownerdraw tables (fix)"
This reverts commit 0854396f0ab183b36576d7b4be3f60d14cf885d8.
Reverting commit until I have time to investigate this.
Atm will look into a webkit issue first.
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | 30 |
1 files changed, 13 insertions, 17 deletions
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 1842b84ab3..b26870ed8a 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 @@ -726,7 +726,12 @@ void createColumn (TreeColumn column, int index) { GTK.gtk_tree_view_column_set_clickable (columnHandle, true); GTK.gtk_tree_view_column_set_min_width (columnHandle, 0); GTK.gtk_tree_view_insert_column (handle, columnHandle, index); - + /* + * Bug in GTK3. The column header has the wrong CSS styling if it is hidden + * when inserting to the tree widget. The fix is to hide the column only + * after it is inserted. + */ + if (columnCount != 0) GTK.gtk_tree_view_column_set_visible (columnHandle, false); if (column != null) { column.handle = columnHandle; column.modelIndex = modelIndex; @@ -796,6 +801,7 @@ void createItem (TreeColumn column, int index) { if (columnCount == 0) { column.handle = GTK.gtk_tree_view_get_column (handle, 0); GTK.gtk_tree_view_column_set_sizing (column.handle, GTK.GTK_TREE_VIEW_COLUMN_FIXED); + GTK.gtk_tree_view_column_set_visible (column.handle, false); column.modelIndex = FIRST_COLUMN; createRenderers (column.handle, column.modelIndex, true, column.style); column.customDraw = firstCustomDraw; @@ -803,12 +809,6 @@ void createItem (TreeColumn column, int index) { } else { createColumn (column, index); } - /* - * Bug in GTK3. The column header has the wrong CSS styling if it is hidden - * when inserting to the tree widget. The fix is to hide the column only - * after it is inserted. Bug 393729. - */ - gtk_tree_view_column_set_visible (column.handle, false); long /*int*/ boxHandle = gtk_box_new (GTK.GTK_ORIENTATION_HORIZONTAL, false, 3); if (boxHandle == 0) error (SWT.ERROR_NO_HANDLES); long /*int*/ labelHandle = GTK.gtk_label_new_with_mnemonic (null); @@ -2311,10 +2311,6 @@ void drawInheritedBackground (long /*int*/ eventPtr, long /*int*/ cairo) { @Override long /*int*/ gtk_draw (long /*int*/ widget, long /*int*/ cairo) { - if (GTK.GTK3 && !lazyInitializationOccured) { - lazyInitializationOccured = true; - delayedInitialization(handle); - } if ((state & OBSCURED) != 0) return 0; drawInheritedBackground (0, cairo); return super.gtk_draw (widget, cairo); @@ -2504,7 +2500,7 @@ void gtk_widget_size_request (long /*int*/ widget, GtkRequisition requisition) { boolean fixVisible = columns != 0; while (list != 0) { long /*int*/ column = OS.g_list_data (list); - if (gtk_tree_view_column_get_visible (column)) { + if (GTK.gtk_tree_view_column_get_visible (column)) { fixVisible = false; break; } @@ -2513,18 +2509,18 @@ void gtk_widget_size_request (long /*int*/ widget, GtkRequisition requisition) { long /*int*/ columnHandle = 0; if (fixVisible) { columnHandle = OS.g_list_data (columns); - gtk_tree_view_column_set_visible (columnHandle, true); + GTK.gtk_tree_view_column_set_visible (columnHandle, true); } super.gtk_widget_size_request (widget, requisition); if (fixVisible) { - gtk_tree_view_column_set_visible (columnHandle, false); + GTK.gtk_tree_view_column_set_visible (columnHandle, false); } if (columns != 0) OS.g_list_free (columns); } void hideFirstColumn () { long /*int*/ firstColumn = GTK.gtk_tree_view_get_column (handle, 0); - gtk_tree_view_column_set_visible (firstColumn, false); + GTK.gtk_tree_view_column_set_visible (firstColumn, false); } @Override @@ -3966,10 +3962,10 @@ boolean showFirstColumn () { int columnCount = Math.max (1, this.columnCount); for (int i=0; i<columnCount; i++) { long /*int*/ column = GTK.gtk_tree_view_get_column (handle, i); - if (gtk_tree_view_column_get_visible (column)) return false; + if (GTK.gtk_tree_view_column_get_visible (column)) return false; } long /*int*/ firstColumn = GTK.gtk_tree_view_get_column (handle, 0); - gtk_tree_view_column_set_visible (firstColumn, true); + GTK.gtk_tree_view_column_set_visible (firstColumn, true); return true; } |