summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2005-08-24 21:31:58 +0000
committerSilenio Quarti <silenio>2005-08-24 21:31:58 +0000
commit5102ca46128f75a4fa5bd36885cf2481e13a4693 (patch)
tree95c6fd13689cc00843327e7d9be9eb7f7c2cea5b /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
parentce154b39768fb2c338a98c7401692106aed7337a (diff)
downloadeclipse.platform.swt-5102ca46128f75a4fa5bd36885cf2481e13a4693.tar.gz
eclipse.platform.swt-5102ca46128f75a4fa5bd36885cf2481e13a4693.tar.xz
eclipse.platform.swt-5102ca46128f75a4fa5bd36885cf2481e13a4693.zip
getBounds() wrong for clipped column
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java6
1 files changed, 6 insertions, 0 deletions
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 6200dd310e..c866bae67e 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
@@ -356,6 +356,7 @@ public Rectangle getBounds () {
GdkRectangle rect = new GdkRectangle ();
OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
OS.gtk_tree_path_free (path);
+ int right = rect.x + rect.width;
int [] x = new int [1], w = new int [1];
OS.gtk_cell_renderer_get_size (textRenderer, parentHandle, null, null, null, w, null);
@@ -396,6 +397,11 @@ public Rectangle getBounds () {
int border = parent.getBorderWidth ();
int headerHeight = parent.getHeaderHeight ();
+ if (parent.columnCount > 0) {
+ if (rect.x + border + rect.width > right) {
+ rect.width = Math.max (0, right - rect.x - border);
+ }
+ }
return new Rectangle (rect.x + border, rect.y + (headerHeight == 0 ? border : headerHeight), rect.width + 1, rect.height + 1);
}