Commit Graph

20226 Commits

Author SHA1 Message Date
Matthias Clasen
c8dd9895e4 Add some documentation about width-chars and max-width-chars
Explain how these properties determine the width of ellipsized
and wrapped labels.
2010-04-28 00:48:15 -04:00
Matthias Clasen
538ec4efbb Add a GtkExtendedLayout implementation for GtkFrame 2010-04-26 18:07:42 -04:00
Matthias Clasen
cd45dfaa1d Tiny documentation tweak 2010-04-26 07:34:01 -04:00
Matthias Clasen
a0b61a5a72 Make testellipsize work for rotating non-ellipsized labels 2010-04-25 20:58:36 -04:00
Matthias Clasen
36c3eaea81 Refer to GtkExtendedLayout from the container docs 2010-04-25 17:32:44 -04:00
Matthias Clasen
f285ed1348 Treat h and v boxes the same way
...we've got the money!
2010-04-25 17:12:15 -04:00
Matthias Clasen
ff267664b8 Fix a few typos 2010-04-25 16:59:13 -04:00
Matthias Clasen
bcbd7cce13 Don't add padding to a pointer 2010-04-25 16:45:21 -04:00
Matthias Clasen
ff0eb03201 Fix a regression in RTL flipping
This was only showing up with pack-end packing in horizontal boxes.
The RTL flipping has to be applied after moving the reference point
to the left edge of the child.
2010-04-25 16:23:01 -04:00
Matthias Clasen
148ea63dba Formatting and typo fixes 2010-04-23 21:52:55 -04:00
Tristan Van Berkom
909ca43c1a Renamed testextendedlayout2 --> extendedlayoutexample, also removed testextendedlayout and letting it reside for now in native-layout branch. 2010-04-21 04:11:55 -04:00
Tristan Van Berkom
2a5272647d Mega commit backing out everything from the native-layout branch that
is not ready for integration

This commit makes the native-layout branch into a reasonable
patch applicable to git master, it pulls out GtkCellRenderer
support, ComboBox support, the Plug/Socket api is also not ready
and is pulled out.
2010-04-21 03:42:23 -04:00
Tristan Van Berkom
9306a73dfd Added documentation, implemented gtk_extended_layout_is_height_for_width() where needed. 2010-04-21 01:32:55 -04:00
Tristan Van Berkom
504ec365a7 Improved legibility of the label parameters test. 2010-04-20 22:02:48 -04:00
Tristan Van Berkom
7db18bb726 Added test reflecting the usage of GtkLabel parameters. 2010-04-20 20:44:24 -04:00
Tristan Van Berkom
a3a245ab56 Updated test for api change. 2010-04-20 20:44:11 -04:00
Tristan Van Berkom
4d06d75dce Updating test for api change. 2010-04-20 20:43:41 -04:00
Tristan Van Berkom
680d7762ba Make sure not to base the minimum size on "max-width-chars", only the natural size. 2010-04-20 20:30:10 -04:00
Tristan Van Berkom
630357beb3 Added test to demonstrate width-for-height labels. 2010-04-20 18:58:44 -04:00
Tristan Van Berkom
dfd311497d Fixed GtkLabel to wrap correctly and report width-for-height correctly when vertical. 2010-04-20 18:54:50 -04:00
Tristan Van Berkom
d5b31c303c Slightly reduced extended layout cache size, updated authors/copywrite year. 2010-04-20 18:53:54 -04:00
Tristan Van Berkom
17883f3ce6 Fixed GtkLabel to include GtkMisc padding when calculating height-for-width. 2010-04-20 15:23:13 -04:00
Tristan Van Berkom
80428e7745 Restore layout in get_desired_size() after guessing a wrap width
This fixes the label layout in cases where gtk_widget_size_request()
is called on a label without a following size_allocate(), for instance
when a button state changes.
2010-04-20 14:16:13 -04:00
Tristan Van Berkom
4ed5e6d526 Various updates to follow new gtk_extended_layout_get_desired_size added argument. 2010-04-20 01:30:56 -04:00
Tristan Van Berkom
b7a05d1832 Fixed missing return from get_desired_width/height in GtkViewport (causing testgtk to have a small width). 2010-04-20 01:27:32 -04:00
Tristan Van Berkom
c927f5e60d Split up width and height queries so that they make more sense (extended-layout) 2010-04-20 01:26:58 -04:00
Tristan Van Berkom
0330658a7f Added request_natural argument to get_desired_size()
Currently get_desired_size() is more of an emulation of
gtk_widget_size_request() for the minimum size as it bases the
contextual request on the minimum preferred size; this argument
lets you do the request with the natural preferred size as well.
2010-04-20 01:24:51 -04:00
Tristan Van Berkom
3a9ab87489 GtkAlignment now tries to allocate natural size to the child if available and does the height-for-width calculation depending on allocation. 2010-04-20 01:22:31 -04:00
Tristan Van Berkom
0b92348077 Fixed acces of child->requisition; call gtk_widget_get_child_requisition instead.
This fixes squished pathbar issue (as access to ->requisition is really
not supported anymore).
2010-04-20 00:33:20 -04:00
Tristan Van Berkom
b0fc43e958 Reduced natural request padding for rotating ellipsizing labels
After fixing height requests this works much smoother, although in
some places pango seems to ellipsize a rotated label when given
the width it requested.
2010-04-19 21:50:55 -04:00
Tristan Van Berkom
8ae5e01225 Fixed another caching bug in extended layout
Was confusing width/height REQUEST_NEEDED flags, this caused
the volumebutton test to not re-request the height properly
when changing orientations.
2010-04-19 21:37:44 -04:00
Tristan Van Berkom
de4a8f8ddc Unconditionally return the height for the minimum width when doing get_desired_height()
This is the correct support for the opposing orientation for widgets
that support height-for-width, in an interface that was realized as
width-for-height, a height-for-width supporting widget should return
the minimum height for the minimum width when the initial
get_desired_height() is run.
2010-04-19 20:43:19 -04:00
Tristan Van Berkom
ee8db39393 Fixed height-for-width cache
Fixed the cache to be cleared when flagged with WIDTH/HEIGHT_REQUEST_NEEDED.
This error was causing some widgets to not be sized correctly (the stock and
icon browser in the demo for instance).
2010-04-19 20:41:23 -04:00
Tristan Van Berkom
119267d7c8 Removing old comments in gtkbin.c 2010-04-19 20:40:04 -04:00
Tristan Van Berkom
3783a0a54f Fixed computation of sizegroups when no explicit request is set.
My previous commit to GtkSizeGroup made sure that when
gtk_widget_set_size_request() is set on a widget, it will be
taken into account when computing the widget's own request,
this commit fixes the case where there is no explicit size
request.
2010-04-19 14:46:28 -04:00
Tristan Van Berkom
e9e3725ee7 Fixed testellipsize 2010-04-19 14:04:20 -04:00
Tristan Van Berkom
a141c66253 Added testextendedlayout2.c to tests.
This test is a collection of builder files which demonstrate the
added features of natural sizes and height-for-width geometry; so
far it only contains 3 cases, more to come...
2010-04-19 01:07:20 -04:00
Tristan Van Berkom
0dff033a64 Fixed GtkSpinner to request 12x12 at init time instead of at expose time.
This should not change the space taken by the spinner when hidden,
and it should only set the minimum size not the actual size (i.e. code
in place was conditionally setting it if not allocated 12x12, which
doesnt really make sense)... This fixes spinners showing at the correct size
in gtk-demo.
2010-04-18 20:46:30 -04:00
Tristan Van Berkom
4c1fa76520 Fixed _gtk_size_group_bump_requisition() to properly handle values specified by gtk_widget_set_size_request() 2010-04-18 20:45:42 -04:00
Tristan Van Berkom
e997ac37a7 Added GTK_DEBUG_EXTENDED_LAYOUT flag and use that for debuggin in gtkextendedlayout.c 2010-04-18 20:14:13 -04:00
Tristan Van Berkom
6dc5cdb981 Implemented GtkExtendedLayout on GtkWindow. 2010-04-18 20:13:46 -04:00
Tristan Van Berkom
fe257d23dd Fixed GtkAssistant to not access ->requisition of children directly.
This was causing a 0 height action-area because a GtkBox does not
generally update ->requisition with anything useful
(call gtk_widget_get_child_requisition() here instead).
2010-04-18 20:11:43 -04:00
Tristan Van Berkom
3cbd9e9313 Further fixed base outputs of GtkLabel desired geometries.
Now (when wrapping), if no "width-chars" was specified for a minimum
width, default to the width guessed by gtk_label_ensure_layout(), small
specified widths will otherwise result in very large height requests.
2010-04-18 18:13:56 -04:00
Tristan Van Berkom
da318411dc Fixed bug in gtk_extended_get_desired_size().
gtk_extended_get_desired_size() was mixing up orientations based
on the preference, considering ditching the preference anyway.
Also slightly enhanced debug prints.
2010-04-18 18:12:30 -04:00
Tristan Van Berkom
35cc52f418 Compute the collective heights for the width of a horizontal box.
Introduce an algorithm to allocate children some virtual widths based on
their base widths returned by ->get_desired_width(), then return the
collective desired heights for each or thier virtually allocated width.

This will only work in the horizontal orientation.
2010-04-18 18:09:40 -04:00
Tristan Van Berkom
33039c1452 Fixed extended layout test to compile without the gtk_label_set_fullsize() api. 2010-04-18 17:56:58 -04:00
Tristan Van Berkom
e8a365ce36 Restore functionality where ellipsizing label *minimum* size grows to "max-char-width". 2010-04-17 23:06:24 -04:00
Tristan Van Berkom
64e23c42bd Fixed GtkLabel reported minimum and natural sizes
This commit makes GtkLabel use "max-width-chars" to determine the
desired natural width for wrapping labels as well as all around refactoring
the initially reported values in get_desired_width/height. this also
addresses some issues with rotating ellipsizing text.
2010-04-17 22:54:29 -04:00
Tristan Van Berkom
8b57ad94c0 Now gtk_extended_layout_get_desired_size() returns a minimum for minimum in the minimum requisition and a natural for minimum in the natural. 2010-04-17 22:52:27 -04:00
Tristan Van Berkom
b30445c927 Make GtkWindow use the generic smallest size for the requisition again 2010-04-17 22:51:35 -04:00