Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul D'Pong2020-09-10 20:53:59 +0000
committerAlexander Kurtakov2020-09-11 04:57:17 +0000
commite29922459cba18f9f7ff821f12b3cee57f01ae15 (patch)
treef1c64825e817a85fa032c7c3aae15ef9d9fe0c92
parent909e2928b6bc5d431a8333a70ea1cded5651f818 (diff)
downloadeclipse.platform.swt-e29922459cba18f9f7ff821f12b3cee57f01ae15.tar.gz
eclipse.platform.swt-e29922459cba18f9f7ff821f12b3cee57f01ae15.tar.xz
eclipse.platform.swt-e29922459cba18f9f7ff821f12b3cee57f01ae15.zip
Bug 566877 - [GTK4] gtk_tree_view_column_cell_get_size signature
change/cleanup - Fixed signature for gtk_tree_view_column_cell_get_size in the Tree class - Removed the width variable for many of the functions that are exclusively asking for height - More consistent spacing Change-Id: I059a6a13451b4059fc32a3ed48f42904321bb037 Signed-off-by: Paul D'Pong <sdamrong@redhat.com>
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java64
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java62
4 files changed, 95 insertions, 73 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
index 096a5563f2..c85dbfb288 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
@@ -547,36 +547,38 @@ public int getItemHeight () {
return DPIUtil.autoScaleDown(getItemHeightInPixels());
}
-int getItemHeightInPixels () {
+int getItemHeightInPixels() {
checkWidget();
- int itemCount = GTK.gtk_tree_model_iter_n_children (modelHandle, 0);
- long column = GTK.gtk_tree_view_get_column (handle, 0);
-
- int height;
- int [] w = new int [1], h = new int [1];
+ int height = 0;
+ int itemCount = GTK.gtk_tree_model_iter_n_children(modelHandle, 0);
+ long column = GTK.gtk_tree_view_get_column(handle, 0);
+ int[] h = new int[1];
if (itemCount == 0) {
if (GTK.GTK4) {
- GTK.gtk_tree_view_column_cell_get_size(column, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, null, h);
}
-
- height = h[0];
} else {
- long iter = OS.g_malloc (GTK.GtkTreeIter_sizeof ());
- GTK.gtk_tree_model_get_iter_first (modelHandle, iter);
- GTK.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
- height = h[0];
+ long iter = OS.g_malloc(GTK.GtkTreeIter_sizeof());
+
+ GTK.gtk_tree_model_get_iter_first(modelHandle, iter);
+ GTK.gtk_tree_view_column_cell_set_cell_data(column, modelHandle, iter, false, false);
+ if (GTK.GTK4) {
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
+ } else {
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, null, h);
+ }
- OS.g_free (iter);
+ OS.g_free(iter);
}
+ height = h[0];
- long textRenderer = getTextRenderer (column);
- int [] ypad = new int[1];
+ long textRenderer = getTextRenderer(column);
+ int[] ypad = new int[1];
if (textRenderer != 0) GTK.gtk_cell_renderer_get_padding(textRenderer, null, ypad);
- height += ypad [0];
+ height += ypad[0];
return height;
}
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 7d0d68748a..d980dc689d 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
@@ -334,7 +334,7 @@ public void addSelectionListener (SelectionListener listener) {
}
int calculateWidth (long column, long iter) {
- GTK.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
+ GTK.gtk_tree_view_column_cell_set_cell_data(column, modelHandle, iter, false, false);
/*
* Bug in GTK. The width calculated by gtk_tree_view_column_cell_get_size()
@@ -343,17 +343,18 @@ int calculateWidth (long column, long iter) {
*/
//This workaround is causing the problem Bug 459834 in GTK3. So reverting the workaround for GTK3
- int [] width = new int [1];
+ int[] width = new int[1];
if (GTK.GTK4) {
GTK.gtk_tree_view_column_cell_get_size(column, null, null, width, null);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, width, null);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, width, null);
}
- long textRenderer = getTextRenderer (column);
- int [] xpad = new int[1];
+ long textRenderer = getTextRenderer(column);
+ int[] xpad = new int[1];
if (textRenderer != 0) GTK.gtk_cell_renderer_get_padding(textRenderer, xpad, null);
- return width [0] + xpad [0]*2;
+
+ return width[0] + xpad[0] * 2;
}
/**
@@ -1703,43 +1704,48 @@ public int getItemHeight () {
int getItemHeightInPixels () {
checkWidget();
+ int height = 0;
+
if (itemCount == 0) {
- long column = GTK.gtk_tree_view_get_column (handle, 0);
- int [] w = new int [1], h = new int [1];
+ long column = GTK.gtk_tree_view_get_column(handle, 0);
+ int[] h = new int[1];
ignoreSize = true;
if (GTK.GTK4) {
- GTK.gtk_tree_view_column_cell_get_size(column, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, null, h);
}
- int height = h [0];
- long textRenderer = getTextRenderer (column);
- if (textRenderer != 0) GTK.gtk_cell_renderer_get_preferred_height_for_width (textRenderer, handle, 0, h, null);
- height += h [0];
+
+ height = h[0];
+ long textRenderer = getTextRenderer(column);
+ if (textRenderer != 0) GTK.gtk_cell_renderer_get_preferred_height_for_width(textRenderer, handle, 0, h, null);
+ height += h[0];
ignoreSize = false;
- return height;
} else {
- int height = 0;
- long iter = OS.g_malloc (GTK.GtkTreeIter_sizeof ());
- GTK.gtk_tree_model_get_iter_first (modelHandle, iter);
- int columnCount = Math.max (1, this.columnCount);
- for (int i=0; i<columnCount; i++) {
- long column = GTK.gtk_tree_view_get_column (handle, i);
- GTK.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
- int [] w = new int [1], h = new int [1];
+ long iter = OS.g_malloc(GTK.GtkTreeIter_sizeof());
+ GTK.gtk_tree_model_get_iter_first(modelHandle, iter);
+
+ int columnCount = Math.max(1, this.columnCount);
+ for (int i = 0; i < columnCount; i++) {
+ long column = GTK.gtk_tree_view_get_column(handle, i);
+ GTK.gtk_tree_view_column_cell_set_cell_data(column, modelHandle, iter, false, false);
+ int[] h = new int[1];
if (GTK.GTK4) {
- GTK.gtk_tree_view_column_cell_get_size(column, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, null, h);
}
- long textRenderer = getTextRenderer (column);
- int [] ypad = new int[1];
+
+ long textRenderer = getTextRenderer(column);
+ int[] ypad = new int[1];
if (textRenderer != 0) GTK.gtk_cell_renderer_get_padding(textRenderer, null, ypad);
- height = Math.max(height, h [0] + ypad [0]);
+ height = Math.max(height, h[0] + ypad[0]);
}
+
OS.g_free (iter);
- return height;
}
+
+ return height;
}
/**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java
index 385bd7e1a2..a5d3f9b99d 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java
@@ -423,7 +423,7 @@ Rectangle getBoundsInPixels (int index) {
if (GTK.GTK4) {
GTK.gtk_tree_view_column_cell_get_size(column, null, null, columnWidth, columnHeight);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, columnWidth, columnHeight);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, columnWidth, columnHeight);
}
parent.ignoreSize = false;
rect.height = columnHeight [0];
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 b481de7fab..63ca2a4d8b 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
@@ -1790,41 +1790,50 @@ public int getItemHeight () {
}
int getItemHeightInPixels () {
- checkWidget ();
- int itemCount = GTK.gtk_tree_model_iter_n_children (modelHandle, 0);
+ checkWidget();
+ int height = 0;
+ int itemCount = GTK.gtk_tree_model_iter_n_children(modelHandle, 0);
+
if (itemCount == 0) {
- long column = GTK.gtk_tree_view_get_column (handle, 0);
- int [] w = new int [1], h = new int [1];
+ long column = GTK.gtk_tree_view_get_column(handle, 0);
+ int[] h = new int[1];
ignoreSize = true;
if (GTK.GTK4) {
- GTK.gtk_tree_view_column_cell_get_size(column, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
} else {
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, null, h);
}
- int height = h [0];
- long textRenderer = getTextRenderer (column);
- if (textRenderer != 0) GTK.gtk_cell_renderer_get_preferred_height_for_width (textRenderer, handle, 0, h, null);
- height += h [0];
+
+ height = h[0];
+ long textRenderer = getTextRenderer(column);
+ if (textRenderer != 0) GTK.gtk_cell_renderer_get_preferred_height_for_width(textRenderer, handle, 0, h, null);
+ height += h[0];
ignoreSize = false;
- return height;
} else {
- int height = 0;
- long iter = OS.g_malloc (GTK.GtkTreeIter_sizeof ());
- GTK.gtk_tree_model_get_iter_first (modelHandle, iter);
- int columnCount = Math.max (1, this.columnCount);
- for (int i=0; i<columnCount; i++) {
- long column = GTK.gtk_tree_view_get_column (handle, i);
- GTK.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
- int [] w = new int [1], h = new int [1];
- GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
+ long iter = OS.g_malloc(GTK.GtkTreeIter_sizeof());
+ GTK.gtk_tree_model_get_iter_first(modelHandle, iter);
+
+ int columnCount = Math.max(1, this.columnCount);
+ for (int i = 0; i < columnCount; i++) {
+ long column = GTK.gtk_tree_view_get_column(handle, i);
+ GTK.gtk_tree_view_column_cell_set_cell_data(column, modelHandle, iter, false, false);
+ int[] h = new int[1];
+ if (GTK.GTK4) {
+ GTK.gtk_tree_view_column_cell_get_size(column, null, null, null, h);
+ } else {
+ GTK.gtk_tree_view_column_cell_get_size (column, null, null, null, null, h);
+ }
+
long textRenderer = getTextRenderer(column);
- int [] ypad = new int[1];
+ int[] ypad = new int[1];
if (textRenderer != 0) GTK.gtk_cell_renderer_get_padding(textRenderer, null, ypad);
- height = Math.max(height, h [0] + ypad [0]);
+ height = Math.max(height, h[0] + ypad[0]);
}
+
OS.g_free (iter);
- return height;
}
+
+ return height;
}
/**
@@ -2167,7 +2176,12 @@ long gtk_button_press_event (long widget, long event) {
}
double [] eventRX = new double [1];
double [] eventRY = new double [1];
- GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
+ if (GTK.GTK4) {
+ long root = GTK.gtk_widget_get_root(widget);
+ GTK.gtk_widget_translate_coordinates(widget, root, eventX[0], eventY[0], eventRX, eventRY);
+ } else {
+ GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
+ }
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {

Back to the top