diff options
author | Billy Biggs <bbiggs> | 2005-02-07 22:02:36 +0000 |
---|---|---|
committer | Billy Biggs <bbiggs> | 2005-02-07 22:02:36 +0000 |
commit | c50367f5a47e2a6effad63f64029f1b5d0e6e7f1 (patch) | |
tree | 4d8bccd5a798a131641088d79f811845e6b823ad /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java | |
parent | 07189d4e0dc321d7a67191afc9ffcca78baa583a (diff) | |
download | eclipse.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.java | 28 |
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) { |