Commit Graph

14088 Commits

Author SHA1 Message Date
Mathias Hasselmann
c34223f9d8 Seems natural size for spanning cells worked already. Test spanning cells.
2007-07-26  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtktable.c: Seems natural size for spanning cells worked already.
	* tests/testextendedlayout.c: Test spanning cells. Do not expand
	succeeded root nodes.

svn path=/branches/extended-layout/; revision=18545
2007-07-26 16:50:19 +00:00
Mathias Hasselmann
478b1a1191 Also apply natural size, when there are no expandable children. Fix
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 08:36:25 +00:00
Mathias Hasselmann
d601bce003 Consider natural size to allocate widgets spanning a single, rename
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-23 22:28:44 +00:00
Mathias Hasselmann
ea485139bf Provide natural size information. Implemented some initial natural size
2007-07-23  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtktable.c, gtk/gtktable.h: Provide natural size information.
	* tests/autotestextendedlayout.c: Implemented some initial natural
	size tests for GtkTable.

svn path=/branches/extended-layout/; revision=18529
2007-07-23 17:19:46 +00:00
Mathias Hasselmann
5ef11313ba Make the type check part of the extended layout feature check macros.
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-23 17:19:43 +00:00
Mathias Hasselmann
41818acb40 Extend the test to support rotations. Support ellipsizing and wrapping on
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-18 12:57:17 +00:00
Mathias Hasselmann
ffd0c38f91 Implement and test natural size support for GtkVBox. Cleanup issues found
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-18 12:57:09 +00:00
Mathias Hasselmann
d89c5538cf Improve test result grouping.
2007-07-15  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/testextendedlayout.c: Improve test result grouping.

svn path=/branches/extended-layout/; revision=18491
2007-07-18 12:57:01 +00:00
Mathias Hasselmann
ca6a4fefa6 Propagate baseline offset to the child widget. Properly apply baseline
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-11 12:24:25 +00:00
Mathias Hasselmann
8260ef870f Allow choosing initially active notebook page from command line and create
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-03 15:42:03 +00:00
Mathias Hasselmann
24b2fa20f1 Properly evaluate natural size. Consider natural size for child placement.
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-02 10:26:15 +00:00
Mathias Hasselmann
f568484846 Add gtk_extended_layout_set_baseline_offset to allow widget to adjust
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 21:12:21 +00:00
Mathias Hasselmann
0869a5b9f5 Invalidate previously selected widget when choosing another one, to avoid
2007-07-01  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/testextendedlayout.c: Invalidate previously selected
	widget when choosing another one, to avoid drawing artifacts.

svn path=/branches/extended-layout/; revision=18329
2007-07-01 21:12:13 +00:00
Mathias Hasselmann
0013cf7e73 Improve drawing of baseline guides.
2007-07-01  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/testextendedlayout.c: Improve drawing of baseline guides.

svn path=/branches/extended-layout/; revision=18328
2007-07-01 21:12:10 +00:00
Mathias Hasselmann
0f8b3448b3 Properly report feature set and consider baseline_policy when evaluating
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-07-01 21:12:07 +00:00
Mathias Hasselmann
07410c89fa Make baseline alignment work, by ignoring the uniform height constraint a
2007-07-01  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkhbox.c: Make baseline alignment work, by ignoring the uniform
	height constraint a GtkHBox implies. TODO: Obey that constraint.

svn path=/branches/extended-layout/; revision=18321
2007-07-01 09:23:44 +00:00
Mathias Hasselmann
86c0d93981 Rudimentary implementation of GtkExtendLayout.
2007-07-01  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkhbox.c: Rudimentary implementation of GtkExtendLayout.

svn path=/branches/extended-layout/; revision=18320
2007-07-01 09:11:47 +00:00
Mathias Hasselmann
d50c7c68b4 Fix a typo: s/GtkWindow/GtkWidget/
svn path=/branches/extended-layout/; revision=18319
2007-07-01 09:11:42 +00:00
Mathias Hasselmann
a21a526141 Provide button variant of the GtkHBox baseline alignment test, as those
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-07-01 09:11:39 +00:00
Mathias Hasselmann
ecab2fb505 Provide status text, when no widget is selected.
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-07-01 09:11:34 +00:00
Mathias Hasselmann
2b051221e1 Drop g_debug messages.
2007-06-29  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkframe.c: Drop g_debug messages.

svn path=/branches/extended-layout/; revision=18300
2007-06-29 20:31:11 +00:00
Mathias Hasselmann
9f981fcebb Move buttons to top and provide textual information about currently
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 20:31:09 +00:00
Mathias Hasselmann
32ec6ad779 Move code to setup UI from main to test_suite_new.
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 20:31:05 +00:00
Mathias Hasselmann
ce56b73010 Split Baseline Alignment tests into separate tests and move the notebook
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-29 20:31:02 +00:00
Mathias Hasselmann
079233aef1 Add gtk_extended_layout_get_padding. Implement
2007-06-29  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkextendedlayout.h, gtk/gtkextendedlayout.c,
	gtk/gtk.symbols: Add gtk_extended_layout_get_padding.
	* gtk/gtkalignment.c, gtk/gtkbin.c, gtk/gtkbutton.c,
	gtk/gtkframe.c: Implement gtk_extended_layout_get_padding.
	* tests/autotestextendedlayout.c: Verify padding information
	provided via gtk_extended_layout_get_padding.

svn path=/branches/extended-layout/; revision=18283
2007-06-28 22:21:28 +00:00
Mathias Hasselmann
f9b5d39a96 Merge separate, but nearly identical child allocation code for start and
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
2007-06-28 09:54:50 +00:00
Mathias Hasselmann
9a147e24dc Initial, buggish implementation of baseline alignment in GtkHBox.
2007-06-28  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkhbox.c, gtk/gtkhbox.h, gtk/gtk.symbols,
	tests/testextendedlayout.c: Initial, buggish implementation
	of baseline alignment in GtkHBox.

svn path=/branches/extended-layout/; revision=18268
2007-06-27 23:44:01 +00:00
Mathias Hasselmann
3acb459d2f Introduce GtkBaselinePolicy. Add missing symbols. Introduce
2007-06-28  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkenums.h: Introduce GtkBaselinePolicy.
	* gtk/gtk.symbols: Add missing symbols.
	* gtk/gtkextendedlayout.c, gtk/gtkextendedlayout.h:
	  Introduce gtk_extended_layout_get_single_baseline.

svn path=/branches/extended-layout/; revision=18267
2007-06-27 23:43:55 +00:00
Mathias Hasselmann
68bf11d56d Prevent undefined behaviour when gtk_widget_translate_coordinates fails.
2007-06-28  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkbin.c: Prevent undefined behaviour when
	gtk_widget_translate_coordinates fails.

svn path=/branches/extended-layout/; revision=18266
2007-06-27 23:43:47 +00:00
Mathias Hasselmann
63ada5c4a7 Provide checkboxes to choose guide types at runtime.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/testextendedlayout.c: Provide checkboxes
	to choose guide types at runtime.

svn path=/branches/extended-layout/; revision=18212
2007-06-20 18:58:10 +00:00
Mathias Hasselmann
7a23061818 Don't create the tile pixmap with every expose event.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/testextendedlayout.c: Don't create
	the tile pixmap with every expose event.

svn path=/branches/extended-layout/; revision=18211
2007-06-20 18:58:07 +00:00
Mathias Hasselmann
89c9ad7a60 Dynamically highlight the currently hovered widget and its guides.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkextendedlayout.h, tests/testextendedlayout.c:
	Dynamically highlight the currently hovered widget and its guides.

svn path=/branches/extended-layout/; revision=18210
2007-06-20 16:36:51 +00:00
Mathias Hasselmann
06be1bed39 Implement GtkExtendedLayout for GtkBin.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtkbin.c, tests/autotestextendedlayout.c,
	tests/testextendedlayout.c: Implement GtkExtendedLayout for GtkBin.

svn path=/branches/extended-layout/; revision=18209
2007-06-20 11:07:12 +00:00
Mathias Hasselmann
2d4338c231 Implement get_natural_size for GtkLabel.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtklabel.c, tests/autotestextendedlayout.c:
	Implement get_natural_size for GtkLabel.

svn path=/branches/extended-layout/; revision=18208
2007-06-20 11:07:10 +00:00
Mathias Hasselmann
8fc990dfd0 Implement height for width for GtkLabel.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtklabel.c, tests/autotestextendedlayout.c:
	Implement height for width for GtkLabel.

svn path=/branches/extended-layout/; revision=18203
2007-06-20 08:31:46 +00:00
Mathias Hasselmann
31f1a16eaa Correct some assumptions, write baseline values to console.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* tests/autotestextendedlayout.c: Correct some assumptions,
	write baseline values to console.

svn path=/branches/extended-layout/; revision=18202
2007-06-20 06:36:23 +00:00
Mathias Hasselmann
470b4b395d Remove some late hacking crack.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtklabel.c: Remove some late hacking crack.

svn path=/branches/extended-layout/; revision=18201
2007-06-20 05:58:35 +00:00
Mathias Hasselmann
24ef79cead Implementing get_baselines for GtkLabel and testing it.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtklabel.c, tests/autotestextendedlayout.c,
	tests/testextendedlayout.c, tests/Makefile.am:
	Implementing get_baselines for GtkLabel and testing it.

svn path=/branches/extended-layout/; revision=18200
2007-06-20 05:43:28 +00:00
Mathias Hasselmann
a5461cea77 Implementing get_baselines for GtkLabel and testing it.
2007-06-20  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/gtklabel.c, tests/autotestextendedlayout.c,
	tests/testextendedlayout.c, tests/Makefile.am:
	Implementing get_baselines for GtkLabel and testing it.

svn path=/branches/extended-layout/; revision=18198
2007-06-19 22:25:40 +00:00
Mathias Hasselmann
bd36257eca Implement GtkExtendLayout interface. Implement GtkExtendLayout interface.
2007-06-19  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gtk/Makefile.am, gtk/gtk.h, gtk/gtkextendedlayout.c,
	gtk/gtkextendedlayout.h: Implement GtkExtendLayout interface.
	* docs/reference/gtk/tmpl/gtkextendedlayout.sgml,
	docs/reference/gtk/gtk-docs.sgml, docs/reference/gtk/gtk-sections.txt,
	docs/reference/gtk/gtk.types: Implement GtkExtendLayout interface.

svn path=/branches/extended-layout/; revision=18195
2007-06-19 18:26:07 +00:00
Mathias Hasselmann
44f8a2524f Resynching with trunk to avoid future merge conflicts with the giant
2007-06-18  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* gdk/*, gtk/*: Resynching with trunk to avoid future
	merge conflicts with the giant GtkBuilder patch.


svn path=/branches/extended-layout/; revision=18182
2007-06-18 21:04:02 +00:00
Mathias Hasselmann
6ce7f10b54 Implement formal testing
svn path=/branches/extended-layout/; revision=17976
2007-05-29 11:58:41 +00:00
Mathias Hasselmann
3e6f8421f2 Create initial heigth-for-width test
svn path=/branches/extended-layout/; revision=17975
2007-05-29 09:12:46 +00:00
Mathias Hasselmann
5d8017aef9 Also retreive base line information for GtkTextView widgets
svn path=/branches/extended-layout/; revision=17974
2007-05-29 08:07:25 +00:00
Mathias Hasselmann
54c20694b9 Ported guides drawing to legacy GdkGC API, which looks worse but supports IncludeInferiors
svn path=/branches/extended-layout/; revision=17962
2007-05-28 09:41:15 +00:00
Mathias Hasselmann
6f7f4a5673 Provide some hint which label a guide belongs to
svn path=/branches/extended-layout/; revision=17961
2007-05-28 08:26:02 +00:00
Mathias Hasselmann
cf0ee4d7b0 Some refactoring to get rid of the global list of allocation guides
svn path=/branches/extended-layout/; revision=17960
2007-05-28 08:21:42 +00:00
Mathias Hasselmann
57c1dae7aa Build-fixes for testextendedlayout
svn path=/branches/extended-layout/; revision=17953
2007-05-27 18:12:25 +00:00
Mathias Hasselmann
ea900daa0d Initial implementation of base line test
svn path=/branches/extended-layout/; revision=17952
2007-05-27 17:56:06 +00:00
Mathias Hasselmann
5417534eda Creating testing framework, starting with natural size testing.
svn path=/branches/extended-layout/; revision=17951
2007-05-27 17:52:13 +00:00