mutter/doc/reference/clutter
Emmanuele Bassi 15a04a1dd3 layout-manager: Create LayoutMeta on demand
The ClutterLayoutMeta instances should be created on demand, whenever
the layout manager needs them - if the layout manager supports layout
properties.

This removes the requirement to call add_child_meta() and
remove_child_meta() on add and remove respectively; it also simplifies
the implementation of LayoutManager sub-classes since we can add
fallback code in the base abstract class.

Eventually, this will also lead to an easier to implement ClutterScript
parser for layout properties.

With the new scheme, the ClutterLayoutMeta instance is created whenever
the layout manager tries to access it; if there isn't an instance
already attached to the container's child, one is created -- assuming
that the LayoutManager sub-class has overridden the
get_child_meta_type() virtual function and it's returning a valid GType.

We can also provide a default implementation for create_child_meta(),
by getting the GType and instantiating a ClutterLayoutMeta with all the
fields already set. If the layout manager requires more work then it can
obviously override the default implementation (and even chain up to it).

The ClutterBox actor has been updated, as well as the ClutterBoxLayout
layout manager, to take advantage of the changes of LayoutManager.
2009-11-30 19:11:00 +00:00
..
actor-box.png Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00
bin-layout.png docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
box-layout.png docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
building-clutter.xml docs: Fix OS X docs to install Ports in correct order 2009-11-06 11:48:08 +00:00
clutter-animation-tutorial.xml [docs] Fix wrong XML elements 2009-07-21 16:35:50 +01:00
clutter-docs.xml.in layout: Document BoxLayout 2009-10-14 11:31:48 +01:00
clutter-overview.xml 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com> 2008-06-26 09:02:58 +00:00
clutter-sections.txt layout-manager: Create LayoutMeta on demand 2009-11-30 19:11:00 +00:00
clutter.types layout: Document BoxLayout 2009-10-14 11:31:48 +01:00
creating-behaviours.xml [docs] Fix wrong XML elements 2009-07-21 16:35:50 +01:00
easing-modes.png [docs] Update the easing modes documentation 2009-01-20 18:13:36 +00:00
easing-modes.svg [docs] Update the easing modes documentation 2009-01-20 18:13:36 +00:00
event-flow.dia * clutter/event-flow.png: fixed typo. 2008-06-13 10:37:33 +00:00
event-flow.png * clutter/event-flow.png: fixed typo. 2008-06-13 10:37:33 +00:00
flow-layout-horizontal.png docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
flow-layout-vertical.png docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
glossary.xml [docs] Add more collateral documentation 2009-09-03 16:51:14 +01:00
Makefile.am docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
migrating-ClutterEffect.xml [docs] Fix typo in the effects migration guide 2009-07-21 09:20:16 +01:00
migrating-ClutterPath.xml [docs] Add a Path migration guide 2009-09-09 16:01:07 +01:00
path-alpha-func.png Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00
running-clutter.xml docs: Detail the Clutter debugging flags 2009-11-14 13:03:59 +00:00
subclassing-ClutterActor.xml [docs] Update the "Subclassing Actor" chapter 2009-09-27 11:39:25 +01:00