2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkvbox.c: Properly calculate minimum_height in size-allocate.
So I yell it into the night: Height-for-width is shiny and bright!
svn path=/branches/extended-layout/; revision=18660
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtklabel.c: Announce size-for-allocation features only when
ellipsis or wrapping with full size allocation are active.
* tests/testextendedlayout.c: Display size-for-allocation information
in statusbar.
svn path=/branches/extended-layout/; revision=18659
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Improve contrast for currently
selected widget, show pointer address of widget in status bar.
Provider names in size-for-allocation test.
svn path=/branches/extended-layout/; revision=18658
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Start real testing of height-for-width
and width-for-height.
* gtk/gtklabel.c, gtk/gtklabel.h, gtk/gtk.symbols: Add "full-size"
property to be able to provide a meaningfull implementation of
height-for-width and width-for-height.
* gtk/gtkvbox.c: Consider height-for-width information.
svn path=/branches/extended-layout/; revision=18657
2007-08-13 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Provide context menu to directly select
testable widgets. Defer self invokation for socket testing until
sockets are realized: Plugs cannot receive the "embedded" signal
before their socket is realized.
svn path=/branches/extended-layout/; revision=18608
2007-08-13 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testellipsise.c: Pimped the test for better demonstration.
* gtk/gtklabel.c: Correctly calulate layout width for rotated
text when ellipses are used.
svn path=/branches/extended-layout/; revision=18607
2007-08-12 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkbin.c: Filter feature set returned by the child to match
the subset supported by bins. Ensure natural size matches at least
the requested size.
* gtk/gtkextendedlayout.c: Ensure natural size matches at least
the requested size by considering explicit size requests.
* gtk/gtkhbox.c, gtk/gtkvbox.c, gtk/gtktable.c, gtk/gtktable.h:
Delegate natural size calculation to the (modified) size_request
method for more accurate resutls. This trick was developed already
for GtkLabel, but not recognized before working on GtkScrolledWindow.
* gtk/gtktreeview.c: Skip invisible columns for natural size.
* tests/autotestextendedlayout.c: Test natural size properties
for all classes implementing GtkExtendLayout.
svn path=/branches/extended-layout/; revision=18606
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtklabel.c: Practice consistent pixel rounding to avoid GtkLabel
showing ellipses when PANGO_PIXELS and PANGO_PIXELS_FLOOR differ by
less then 0.5 pixels.
svn path=/branches/extended-layout/; revision=18584
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtktreeviewcolumn.c:
Rename gtk_tree_view_column_cell_get_size_impl
to gtk_tree_view_column_cell_get_real_size to
fit naming conventions.
* gtk/gtkscrolledwindow.c:
Provide and consider natural size information.
* tests/testextendedlayout.c:
Show natural size of the hovered widget in statusbar.
svn path=/branches/extended-layout/; revision=18583
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Use tree-view instead of notebook
tabs for test case navigation. Support running a sub-set of tests.
Display plug-id of sockets as tooltip.
svn path=/branches/extended-layout/; revision=18578
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Improve layout of natural size for
various widgets test and add a test for GtkTreeViews within
GtkScrolledWindows to it.
svn path=/branches/extended-layout/; revision=18577
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtksocket.c: Repair sizing algorithm - gtk_socket_size_request
and gtk_socket_extended_layout_get_natural_size were calling each
other's windowing backend function. Was I drunk when commiting the
previous revision?
svn path=/branches/extended-layout/; revision=18576
2007-08-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkcellview.c: Seems there is no point in distinguishing between
GTK_PACK_START and GTK_PACK_END during size allocation. The loops only
differ in the packing check.
svn path=/branches/extended-layout/; revision=18564
2007-08-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkcellview.c: Fix up the mess I commited before.
Rule of the thumb: Never write code when tired or in hurry.
svn path=/branches/extended-layout/; revision=18563
2007-07-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkcellview.c: Avoid rounding errors in size
allocation by adopting the algorithm used by GtkHBox.
svn path=/branches/extended-layout/; revision=18562
2007-07-27 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Add paned widgets to
the natural size test for GtkAlignment and GtkSocket.
* gtk/gtksocket-x11.c: Fix some cast.
svn path=/branches/extended-layout/; revision=18553
2007-07-24 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkhbox.c, gtk/gtktable.c, gtk/gtkvbox.c: Also apply natural
size, when there are no expandable children. Fix natural size
calculation for GtkVBox.
* tests/testextendedlayout.c: More extensive natural size testing.
Make sure that really all guide groups are tested. Add detail
to test case label in results page.
svn path=/branches/extended-layout/; revision=18536
2007-07-24 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtktable.c, gtk/gtktable.h: Consider natural size to allocate
widgets spanning a single, rename GtkTableRowCol::natural_size.
Remove some lost g_print statements.
* tests/testextendedlayout.c: Test natural size allocation in
GtkTable for simple cases.
svn path=/branches/extended-layout/; revision=18532
2007-07-18 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkextendedlayout.h, gtk/gtkhbox.c, gtk/gtkvbox.c:
Make the type check part of the extended layout feature check macros.
svn path=/branches/extended-layout/; revision=18528
2007-07-16 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testellipsise.c: Extend the test to support rotations.
* gtk/gtklabel.c: Support ellipsizing and wrapping on labels
rotated by multiples of 90°.
svn path=/branches/extended-layout/; revision=18493
2007-07-16 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkvbox.c, tests/testextendedlayout.c:
Implement and test natural size support for GtkVBox.
* gtk/gtkhbox.c: Cleanup issues found when implementing
natural size for GtkVBox.
svn path=/branches/extended-layout/; revision=18492
2007-07-04 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkbin.c: Propagate baseline offset to the child widget.
* gtk/gtkhbox.c: Properly apply baseline alignment by using the
baseline found during requisition calculation for size allocation.
* tests/testextendedlayout.c: Add yscale variantes of GtkAlignment
to the baseline tests. Improve widget names. Split status message
into two lines.
svn path=/branches/extended-layout/; revision=18444
2007-07-03 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Allow choosing initially active
notebook page from command line and create more sane widget names
for the sake of g_print-debugging.
svn path=/branches/extended-layout/; revision=18354
2007-07-02 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkbin.c: Properly evaluate natural size.
* gtk/gtkhbox.c: Consider natural size for child placement.
* gtk/gtklabel.c: Drop any PangoLayout width assigned during the
size allocation process to get proper natural size readings.
* tests/testextendedlayout.c: Add some GtkHPaned to the natural
size test for dynamic evaluation of the algorithm.
svn path=/branches/extended-layout/; revision=18339
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtk.symbols, gtk/gtkextendedlayout.c, gtk/gtkextendedlayout.h:
Add gtk_extended_layout_set_baseline_offset to allow widget to adjust
their baselines to the findings of their parent container.
* gtk/gtkhbox.c: Use gtk_extended_layout_set_baseline_offset to obey
the uniform height constraint of the horizontal box. Do not cache
baselines found during requisition evaluation, as baselines can
change, when assigning a widget more space than requested.
* gtk/gtklabel.c: Implement gtk_extended_layout_set_baseline_offset.
svn path=/branches/extended-layout/; revision=18330
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkhbox.c: Properly report feature set and consider
baseline_policy when evaluating the baseline of the box.
* gtk/gtklabel.c: Adjust the coding style of get_features
to match the style of GtkHBox.
svn path=/branches/extended-layout/; revision=18327
2007-06-30 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Provide button variant of the
GtkHBox baseline alignment test, as those buttons show some
shortcomings of my current baseline concept.
svn path=/branches/extended-layout/; revision=18318
2007-06-30 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c:
Provide status text, when no widget is selected.
svn path=/branches/extended-layout/; revision=18317
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Move buttons to top and
provide textual information about currently hovered widget.
svn path=/branches/extended-layout/; revision=18299
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Move code to setup UI
from main to test_suite_new.
svn path=/branches/extended-layout/; revision=18298
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* tests/testextendedlayout.c: Split Baseline Alignment tests into
separate tests and move the notebook tabs to the right.
* gtk/gtkhbox.c: Properly decode "debug-wanted" object
tag with GPOINTER_TO_INT.
svn path=/branches/extended-layout/; revision=18297
2007-06-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* gtk/gtkhbox.c: Merge separate, but nearly identical child allocation
code for start and end packing into one single loop. This should avoid
programming errors caused by extensive code duplication, as they happend
to me with the previous commit. Maybe some advanced compiler is able
to do the trivial loop unrolling.
* tests/testextendedlayout.c: Use exteriour guides instead of
separators to identify GtkHBox allocation and extend the baseline
alignment tests for GtkHBox.
svn path=/branches/extended-layout/; revision=18278