summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
diff options
context:
space:
mode:
authorBilly Biggs <bbiggs>2005-02-07 22:02:36 +0000
committerBilly Biggs <bbiggs>2005-02-07 22:02:36 +0000
commitc50367f5a47e2a6effad63f64029f1b5d0e6e7f1 (patch)
tree4d8bccd5a798a131641088d79f811845e6b823ad /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
parent07189d4e0dc321d7a67191afc9ffcca78baa583a (diff)
downloadeclipse.platform.swt-c50367f5a47e2a6effad63f64029f1b5d0e6e7f1.tar.gz
eclipse.platform.swt-c50367f5a47e2a6effad63f64029f1b5d0e6e7f1.tar.xz
eclipse.platform.swt-c50367f5a47e2a6effad63f64029f1b5d0e6e7f1.zip
Fix computeTrim on TabFolder and Group; clean up computeSize.
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java28
1 files changed, 12 insertions, 16 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
index 9692f19f33..b4f7299394 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
@@ -104,31 +104,27 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
if (hHint == SWT.DEFAULT) hHint = DEFAULT_HEIGHT;
}
}
- int width = OS.GTK_WIDGET_WIDTH (handle);
- int height = OS.GTK_WIDGET_HEIGHT (handle);
+ boolean fixWrap = labelHandle != 0 && (style & SWT.WRAP) != 0;
int labelWidth = 0, labelHeight = 0;
- if (labelHandle != 0) {
+ if (fixWrap) {
labelWidth = OS.GTK_WIDGET_WIDTH (labelHandle);
labelHeight = OS.GTK_WIDGET_HEIGHT (labelHandle);
- OS.gtk_widget_set_size_request (labelHandle, wHint, hHint);
- }
- GtkRequisition requisition = new GtkRequisition ();
+ OS.gtk_widget_set_size_request (labelHandle, -1, -1);
+ }
+ Point size;
if (frameHandle != 0) {
- int frameWidth = OS.GTK_WIDGET_WIDTH (frameHandle);
- int frameHeight = OS.GTK_WIDGET_HEIGHT (frameHandle);
- OS.gtk_widget_set_size_request (frameHandle, -1, -1);
+ int width = OS.GTK_WIDGET_WIDTH (handle);
+ int height = OS.GTK_WIDGET_HEIGHT (handle);
OS.gtk_widget_set_size_request (handle, wHint, hHint);
- OS.gtk_widget_size_request (frameHandle, requisition);
- OS.gtk_widget_set_size_request (frameHandle, frameWidth, frameHeight);
+ size = computeNativeSize (frameHandle, -1, -1, changed);
+ OS.gtk_widget_set_size_request (handle, width, height);
} else {
- OS.gtk_widget_set_size_request (handle, wHint, hHint);
- OS.gtk_widget_size_request (handle, requisition);
+ size = computeNativeSize (handle, wHint, hHint, changed);
}
- if (labelHandle != 0) {
+ if (fixWrap) {
OS.gtk_widget_set_size_request (labelHandle, labelWidth, labelHeight);
}
- OS.gtk_widget_set_size_request (handle, width, height);
- return new Point (requisition.width, requisition.height);
+ return size;
}
void createHandle (int index) {