forked from AuroraMiddleware/gtk
Merge branch 'wip/otte/for-master' into 'master'
Revert "label: Never measure more than max-width-chars" Closes #4399 See merge request GNOME/gtk!4120
This commit is contained in:
commit
8a7868d006
@ -256,11 +256,46 @@ gtk_box_layout_compute_size (GtkBoxLayout *self,
|
||||
static void
|
||||
gtk_box_layout_compute_opposite_size (GtkBoxLayout *self,
|
||||
GtkWidget *widget,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *min_baseline,
|
||||
int *nat_baseline)
|
||||
{
|
||||
GtkWidget *child;
|
||||
int largest_min = 0, largest_nat = 0;
|
||||
|
||||
for (child = gtk_widget_get_first_child (widget);
|
||||
child != NULL;
|
||||
child = gtk_widget_get_next_sibling (child))
|
||||
{
|
||||
int child_min = 0;
|
||||
int child_nat = 0;
|
||||
|
||||
if (!gtk_widget_should_layout (child))
|
||||
continue;
|
||||
|
||||
gtk_widget_measure (child,
|
||||
OPPOSITE_ORIENTATION (self->orientation),
|
||||
-1,
|
||||
&child_min, &child_nat,
|
||||
NULL, NULL);
|
||||
|
||||
largest_min = MAX (largest_min, child_min);
|
||||
largest_nat = MAX (largest_nat, child_nat);
|
||||
}
|
||||
|
||||
*minimum = largest_min;
|
||||
*natural = largest_nat;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_box_layout_compute_opposite_size_for_size (GtkBoxLayout *self,
|
||||
GtkWidget *widget,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *min_baseline,
|
||||
int *nat_baseline)
|
||||
{
|
||||
GtkWidget *child;
|
||||
int nvis_children;
|
||||
@ -437,9 +472,18 @@ gtk_box_layout_measure (GtkLayoutManager *layout_manager,
|
||||
|
||||
if (self->orientation != orientation)
|
||||
{
|
||||
gtk_box_layout_compute_opposite_size (self, widget, for_size,
|
||||
minimum, natural,
|
||||
min_baseline, nat_baseline);
|
||||
if (for_size < 0)
|
||||
{
|
||||
gtk_box_layout_compute_opposite_size (self, widget,
|
||||
minimum, natural,
|
||||
min_baseline, nat_baseline);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_box_layout_compute_opposite_size_for_size (self, widget, for_size,
|
||||
minimum, natural,
|
||||
min_baseline, nat_baseline);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
301
gtk/gtklabel.c
301
gtk/gtklabel.c
@ -1018,8 +1018,7 @@ gtk_label_get_measuring_layout (GtkLabel *self,
|
||||
}
|
||||
|
||||
static int
|
||||
get_char_pixels (GtkWidget *self,
|
||||
PangoLayout *layout)
|
||||
get_char_pixels (PangoLayout *layout)
|
||||
{
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
@ -1034,6 +1033,88 @@ get_char_pixels (GtkWidget *self,
|
||||
return MAX (char_width, digit_width);
|
||||
}
|
||||
|
||||
static void
|
||||
get_default_widths (GtkLabel *self,
|
||||
int *minimum,
|
||||
int *natural)
|
||||
{
|
||||
int char_pixels;
|
||||
|
||||
if (self->width_chars < 0 && self->max_width_chars < 0)
|
||||
{
|
||||
if (minimum)
|
||||
*minimum = -1;
|
||||
if (natural)
|
||||
*natural = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
gtk_label_ensure_layout (self);
|
||||
char_pixels = get_char_pixels (self->layout);
|
||||
|
||||
if (minimum)
|
||||
{
|
||||
if (self->width_chars < 0)
|
||||
*minimum = -1;
|
||||
else
|
||||
*minimum = char_pixels * self->width_chars;
|
||||
}
|
||||
|
||||
if (natural)
|
||||
{
|
||||
if (self->max_width_chars < 0)
|
||||
*natural = -1;
|
||||
else
|
||||
*natural = char_pixels * MAX (self->width_chars, self->max_width_chars);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
get_static_size (GtkLabel *self,
|
||||
GtkOrientation orientation,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *minimum_baseline,
|
||||
int *natural_baseline)
|
||||
{
|
||||
PangoLayout *layout;
|
||||
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, -1);
|
||||
|
||||
if (orientation == GTK_ORIENTATION_HORIZONTAL)
|
||||
{
|
||||
int minimum_default, natural_default;
|
||||
|
||||
pango_layout_get_size (layout, natural, NULL);
|
||||
if (self->ellipsize)
|
||||
{
|
||||
layout = gtk_label_get_measuring_layout (self, layout, 0);
|
||||
pango_layout_get_size (layout, minimum, NULL);
|
||||
/* yes, Pango ellipsizes even when that needs more space */
|
||||
*minimum = MIN (*minimum, *natural);
|
||||
}
|
||||
else
|
||||
*minimum = *natural;
|
||||
|
||||
get_default_widths (self, &minimum_default, &natural_default);
|
||||
if (minimum_default > *minimum)
|
||||
*minimum = minimum_default;
|
||||
if (natural_default > -1)
|
||||
*natural = natural_default;
|
||||
*natural = MAX (*minimum, *natural);
|
||||
}
|
||||
else
|
||||
{
|
||||
pango_layout_get_size (layout, NULL, minimum);
|
||||
*minimum_baseline = pango_layout_get_baseline (layout);
|
||||
|
||||
*natural = *minimum;
|
||||
*natural_baseline = *minimum_baseline;
|
||||
}
|
||||
|
||||
g_object_unref (layout);
|
||||
}
|
||||
|
||||
static void
|
||||
get_height_for_width (GtkLabel *self,
|
||||
int width,
|
||||
@ -1043,165 +1124,95 @@ get_height_for_width (GtkLabel *self,
|
||||
int *natural_baseline)
|
||||
{
|
||||
PangoLayout *layout;
|
||||
int text_height, baseline;
|
||||
int natural_width, text_height, baseline;
|
||||
|
||||
width *= PANGO_SCALE;
|
||||
if (self->max_width_chars > -1)
|
||||
if (width < 0)
|
||||
{
|
||||
int char_pixels, width_chars;
|
||||
|
||||
/* Minimum height is assuming infinite width */
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, -1);
|
||||
char_pixels = get_char_pixels (GTK_WIDGET (self), layout);
|
||||
if (self->width_chars > self->max_width_chars)
|
||||
width_chars = self->width_chars;
|
||||
else
|
||||
width_chars = self->max_width_chars;
|
||||
width = MIN (char_pixels * width_chars, width);
|
||||
pango_layout_get_size (layout, NULL, minimum_height);
|
||||
baseline = pango_layout_get_baseline (layout);
|
||||
*minimum_baseline = baseline;
|
||||
|
||||
/* Natural height is assuming natural width */
|
||||
get_default_widths (self, NULL, &natural_width);
|
||||
|
||||
layout = gtk_label_get_measuring_layout (self, layout, natural_width);
|
||||
pango_layout_get_size (layout, NULL, natural_height);
|
||||
baseline = pango_layout_get_baseline (layout);
|
||||
*natural_baseline = baseline;
|
||||
}
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, width);
|
||||
else
|
||||
{
|
||||
/* minimum = natural for any given width */
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, width);
|
||||
|
||||
pango_layout_get_pixel_size (layout, NULL, &text_height);
|
||||
pango_layout_get_size (layout, NULL, &text_height);
|
||||
|
||||
*minimum_height = text_height;
|
||||
*natural_height = text_height;
|
||||
*minimum_height = text_height;
|
||||
*natural_height = text_height;
|
||||
|
||||
baseline = pango_layout_get_baseline (layout) / PANGO_SCALE;
|
||||
*minimum_baseline = baseline;
|
||||
*natural_baseline = baseline;
|
||||
baseline = pango_layout_get_baseline (layout);
|
||||
*minimum_baseline = baseline;
|
||||
*natural_baseline = baseline;
|
||||
}
|
||||
|
||||
g_object_unref (layout);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_label_get_preferred_layout_size (GtkLabel *self,
|
||||
PangoRectangle *smallest,
|
||||
PangoRectangle *widest,
|
||||
int *smallest_baseline,
|
||||
int *widest_baseline)
|
||||
get_width_for_height (GtkLabel *self,
|
||||
int height,
|
||||
int *minimum_width,
|
||||
int *natural_width)
|
||||
{
|
||||
PangoLayout *layout;
|
||||
int char_pixels;
|
||||
int minimum_default, natural_default;
|
||||
|
||||
/* "width-chars" Hard-coded minimum width:
|
||||
* - minimum size should be MAX (width-chars, strlen ("..."));
|
||||
* - natural size should be MAX (width-chars, strlen (self->text));
|
||||
*
|
||||
* "max-width-chars" User specified maximum size requisition
|
||||
* - minimum size should be MAX (width-chars, 0)
|
||||
* - natural size should be MIN (max-width-chars, strlen (self->text))
|
||||
*
|
||||
* For ellipsizing labels; if max-width-chars is specified: either it is used as
|
||||
* a minimum size or the label text as a minimum size (natural size still overflows).
|
||||
*
|
||||
* For wrapping labels; A reasonable minimum size is useful to naturally layout
|
||||
* interfaces automatically. In this case if no "width-chars" is specified, the minimum
|
||||
* width will default to the wrap guess that gtk_label_ensure_layout() does.
|
||||
*/
|
||||
get_default_widths (self, &minimum_default, &natural_default);
|
||||
|
||||
/* Start off with the pixel extents of an as-wide-as-possible layout */
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, -1);
|
||||
|
||||
if (self->width_chars > -1 || self->max_width_chars > -1)
|
||||
char_pixels = get_char_pixels (GTK_WIDGET (self), layout);
|
||||
else
|
||||
char_pixels = 0;
|
||||
|
||||
pango_layout_get_extents (layout, NULL, widest);
|
||||
widest->width = MAX (widest->width, char_pixels * self->width_chars);
|
||||
widest->x = widest->y = 0;
|
||||
*widest_baseline = pango_layout_get_baseline (layout) / PANGO_SCALE;
|
||||
|
||||
if (self->ellipsize || self->wrap)
|
||||
if (height < 0)
|
||||
{
|
||||
/* a layout with width 0 will be as small as humanly possible */
|
||||
layout = gtk_label_get_measuring_layout (self,
|
||||
layout,
|
||||
self->width_chars > -1 ? char_pixels * self->width_chars
|
||||
: 0);
|
||||
/* Minimum width is as many line breaks as possible */
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, MAX (minimum_default, 0));
|
||||
pango_layout_get_size (layout, minimum_width, NULL);
|
||||
|
||||
pango_layout_get_extents (layout, NULL, smallest);
|
||||
smallest->width = MAX (smallest->width, char_pixels * self->width_chars);
|
||||
smallest->x = smallest->y = 0;
|
||||
|
||||
*smallest_baseline = pango_layout_get_baseline (layout) / PANGO_SCALE;
|
||||
|
||||
if (self->max_width_chars > -1 && widest->width > char_pixels * self->max_width_chars)
|
||||
{
|
||||
layout = gtk_label_get_measuring_layout (self,
|
||||
layout,
|
||||
MAX (smallest->width, char_pixels * self->max_width_chars));
|
||||
pango_layout_get_extents (layout, NULL, widest);
|
||||
widest->width = MAX (widest->width, char_pixels * self->width_chars);
|
||||
widest->x = widest->y = 0;
|
||||
|
||||
*widest_baseline = pango_layout_get_baseline (layout) / PANGO_SCALE;
|
||||
}
|
||||
|
||||
if (widest->width < smallest->width)
|
||||
{
|
||||
*smallest = *widest;
|
||||
*smallest_baseline = *widest_baseline;
|
||||
}
|
||||
/* Natural width is natural width - or as wide as possible */
|
||||
layout = gtk_label_get_measuring_layout (self, layout, natural_default);
|
||||
pango_layout_get_size (layout, natural_width, NULL);
|
||||
*natural_width = MAX (*natural_width, natural_default);
|
||||
*natural_width = MAX (*natural_width, *minimum_width);
|
||||
}
|
||||
else
|
||||
{
|
||||
*smallest = *widest;
|
||||
*smallest_baseline = *widest_baseline;
|
||||
int min, max, mid, text_width, text_height;
|
||||
|
||||
/* binary search for the smallest width where the height doesn't
|
||||
* eclipse the given height */
|
||||
min = MAX (minimum_default, 0);
|
||||
layout = gtk_label_get_measuring_layout (self, NULL, -1);
|
||||
pango_layout_get_size (layout, &max, NULL);
|
||||
|
||||
while (min < max)
|
||||
{
|
||||
mid = (min + max) / 2;
|
||||
layout = gtk_label_get_measuring_layout (self, layout, mid);
|
||||
pango_layout_get_size (layout, &text_width, &text_height);
|
||||
if (text_width > mid)
|
||||
min = mid = text_width;
|
||||
if (text_height > height)
|
||||
min = mid + 1;
|
||||
else
|
||||
max = text_width;
|
||||
}
|
||||
|
||||
*minimum_width = min;
|
||||
*natural_width = min;
|
||||
}
|
||||
|
||||
g_object_unref (layout);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_label_get_preferred_size (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
int *minimum_size,
|
||||
int *natural_size,
|
||||
int *minimum_baseline,
|
||||
int *natural_baseline)
|
||||
{
|
||||
GtkLabel *self = GTK_LABEL (widget);
|
||||
PangoRectangle widest_rect;
|
||||
PangoRectangle smallest_rect;
|
||||
int smallest_baseline;
|
||||
int widest_baseline;
|
||||
|
||||
gtk_label_get_preferred_layout_size (self,
|
||||
&smallest_rect, &widest_rect,
|
||||
&smallest_baseline, &widest_baseline);
|
||||
|
||||
widest_rect.width = PANGO_PIXELS_CEIL (widest_rect.width);
|
||||
widest_rect.height = PANGO_PIXELS_CEIL (widest_rect.height);
|
||||
|
||||
smallest_rect.width = PANGO_PIXELS_CEIL (smallest_rect.width);
|
||||
smallest_rect.height = PANGO_PIXELS_CEIL (smallest_rect.height);
|
||||
|
||||
if (orientation == GTK_ORIENTATION_HORIZONTAL)
|
||||
{
|
||||
/* Normal desired width */
|
||||
*minimum_size = smallest_rect.width;
|
||||
*natural_size = widest_rect.width;
|
||||
}
|
||||
else /* GTK_ORIENTATION_VERTICAL */
|
||||
{
|
||||
if (smallest_rect.height < widest_rect.height)
|
||||
{
|
||||
*minimum_size = smallest_rect.height;
|
||||
*natural_size = widest_rect.height;
|
||||
*minimum_baseline = smallest_baseline;
|
||||
*natural_baseline = widest_baseline;
|
||||
}
|
||||
else
|
||||
{
|
||||
*minimum_size = widest_rect.height;
|
||||
*natural_size = smallest_rect.height;
|
||||
*minimum_baseline = widest_baseline;
|
||||
*natural_baseline = smallest_baseline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
gtk_label_measure (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
@ -1213,14 +1224,22 @@ gtk_label_measure (GtkWidget *widget,
|
||||
{
|
||||
GtkLabel *self = GTK_LABEL (widget);
|
||||
|
||||
if (orientation == GTK_ORIENTATION_VERTICAL && for_size != -1 && self->wrap)
|
||||
{
|
||||
gtk_label_clear_layout (self);
|
||||
if (for_size > 0)
|
||||
for_size *= PANGO_SCALE;
|
||||
|
||||
get_height_for_width (self, for_size, minimum, natural, minimum_baseline, natural_baseline);
|
||||
}
|
||||
if (!self->wrap)
|
||||
get_static_size (self, orientation, minimum, natural, minimum_baseline, natural_baseline);
|
||||
else if (orientation == GTK_ORIENTATION_VERTICAL)
|
||||
get_height_for_width (self, for_size, minimum, natural, minimum_baseline, natural_baseline);
|
||||
else
|
||||
gtk_label_get_preferred_size (widget, orientation, minimum, natural, minimum_baseline, natural_baseline);
|
||||
get_width_for_height (self, for_size, minimum, natural);
|
||||
|
||||
*minimum = PANGO_PIXELS_CEIL (*minimum);
|
||||
*natural = PANGO_PIXELS_CEIL (*natural);
|
||||
if (*minimum_baseline > 0)
|
||||
*minimum_baseline = PANGO_PIXELS_CEIL (*minimum_baseline);
|
||||
if (*natural_baseline > 0)
|
||||
*natural_baseline = PANGO_PIXELS_CEIL (*natural_baseline);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -884,6 +884,9 @@ gtk_picture_set_can_shrink (GtkPicture *self,
|
||||
return;
|
||||
|
||||
self->can_shrink = can_shrink;
|
||||
|
||||
gtk_widget_queue_resize (GTK_WIDGET (self));
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CAN_SHRINK]);
|
||||
}
|
||||
|
||||
|
@ -8,9 +8,7 @@
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
</attributes>
|
||||
|
@ -212,8 +212,7 @@
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
</attributes>
|
||||
@ -224,8 +223,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
</attributes>
|
||||
@ -646,8 +644,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -659,8 +656,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -1092,8 +1088,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -1105,8 +1100,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -1982,8 +1976,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -1995,8 +1988,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -2016,8 +2008,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -2029,8 +2020,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -2434,8 +2424,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2448,8 +2437,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2470,8 +2458,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2484,8 +2471,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2898,8 +2884,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2912,8 +2897,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2934,8 +2918,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -2948,8 +2931,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">4</property>
|
||||
<attributes>
|
||||
@ -3818,8 +3800,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -3831,8 +3812,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -3852,8 +3832,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -3865,8 +3844,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -4270,8 +4248,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4284,8 +4261,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4306,8 +4282,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4320,8 +4295,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4734,8 +4708,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4748,8 +4721,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4770,8 +4742,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -4784,8 +4755,7 @@ ABCD</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">8</property>
|
||||
<attributes>
|
||||
@ -5654,8 +5624,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -5667,8 +5636,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
<attribute name="font-desc" value="Monospace"></attribute>
|
||||
@ -6104,8 +6072,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
@ -6118,8 +6085,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">4</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
@ -6566,8 +6532,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
@ -6580,8 +6545,7 @@ ABCD</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">ABCDE
|
||||
ABCD</property>
|
||||
<property name="label" translatable="yes">ABCDE ABCD</property>
|
||||
<property name="width_chars">8</property>
|
||||
<property name="max_width_chars">12</property>
|
||||
<attributes>
|
||||
|
@ -498,6 +498,8 @@ testdata = [
|
||||
'unresolvable.css',
|
||||
'unresolvable.ref.ui',
|
||||
'unresolvable.ui',
|
||||
'vbox-with-max-width-chars-label.ref.ui',
|
||||
'vbox-with-max-width-chars-label.ui',
|
||||
'window-border-width.ref.ui',
|
||||
'window-border-width.ui',
|
||||
'window-default-size.ref.ui',
|
||||
|
18
testsuite/reftests/vbox-with-max-width-chars-label.ref.ui
Normal file
18
testsuite/reftests/vbox-with-max-width-chars-label.ref.ui
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkWindow">
|
||||
<property name="decorated">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">horizontal</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Hello World</property>
|
||||
<property name="wrap">1</property>
|
||||
<property name="max-width-chars">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
18
testsuite/reftests/vbox-with-max-width-chars-label.ui
Normal file
18
testsuite/reftests/vbox-with-max-width-chars-label.ui
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkWindow">
|
||||
<property name="decorated">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Hello World</property>
|
||||
<property name="wrap">1</property>
|
||||
<property name="max-width-chars">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
Loading…
Reference in New Issue
Block a user