Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Ufimtsev2018-04-02 15:03:58 +0000
committerLeo Ufimtsev2018-04-02 15:07:32 +0000
commitdf0f19367d6a5d86c149931bcaaff8c64002f986 (patch)
tree8bae6f4b6da528119d7ebaea9c713e1fcde08b80 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
parent6509033affd4772e7b337e8fb51b322edb474851 (diff)
downloadeclipse.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.java30
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;
}

Back to the top