| Top |  |  |  |  | 
| GESContainerGESContainer — Base Class for objects responsible for controlling other GESTimelineElement-s | 
| #define | GES_CONTAINER_CHILDREN() | 
| #define | GES_CONTAINER_HEIGHT() | 
| GList * | ges_container_get_children () | 
| gboolean | ges_container_add () | 
| gboolean | ges_container_remove () | 
| GList * | ges_container_ungroup () | 
| GESContainer * | ges_container_group () | 
| gboolean | ges_container_edit () | 
    GObject
    ╰── GInitiallyUnowned
        ╰── GESTimelineElement
            ╰── GESContainer
                ├── GESClip
                ╰── GESGroup
#define GES_CONTAINER_CHILDREN(obj) (((GESContainer*)obj)->children)
A GList containing the children of object
#define GES_CONTAINER_HEIGHT(obj) (((GESContainer*)obj)->height)
The span of priorities this object occupies.
GList * ges_container_get_children (GESContainer *container,gboolean recursive);
Get the list of GESTimelineElement contained in container
The user is responsible for unreffing the contained objects
and freeing the list.
gboolean ges_container_add (GESContainer *container,GESTimelineElement *child);
Add the GESTimelineElement to the container.
gboolean ges_container_remove (GESContainer *container,GESTimelineElement *child);
Release the child
 from the control of container
.
GList * ges_container_ungroup (GESContainer *container,gboolean recursive);
Ungroups the GESTimelineElement contained in this GESContainer, creating new GESContainer containing those GESTimelineElement apropriately.
| container | The GESContainer to ungroup. | [transfer full] | 
| recursive | Wether to recursively ungroup  | 
The list of GESContainer resulting from the ungrouping operation The user is responsible for unreffing the contained objects and freeing the list.
[transfer full][element-type GESContainer]
GESContainer *
ges_container_group (GList *containers);
Groups the GESContainer-s provided in containers
. It creates a subclass
of GESContainer, depending on the containers provided in containers
.
Basically, if all the containers in containers
 should be contained in a same
clip (all the GESTrackElement they contain have the exact same
start/inpoint/duration and are in the same layer), it will create a GESClip
otherwise a GESGroup will be created
| containers | The GESContainer to group, they must all be in a same GESTimeline. | [transfer none][element-type GESContainer][allow-none] | 
gboolean ges_container_edit (GESContainer *container,GList *layers,gint new_layer_priority,GESEditMode mode,GESEdge edge,guint64 position);
Edit container
 in the different exisiting GESEditMode modes. In the case of
slide, and roll, you need to specify a GESEdge
| container | the GESClip to edit | |
| layers | The layers you want the edit to
happen in,  | [element-type GESLayer] | 
| new_layer_priority | The priority of the layer  | |
| mode | The GESEditMode in which the editition will happen. | |
| edge | The GESEdge the edit should happen on. | |
| position | The position at which to edit  | 
typedef struct {
  /*< readonly >*/
  GList *children;
  /* We don't add those properties to the priv struct for optimization and code
   * readability purposes */
  guint32 height;       /* the span of priorities this object needs */
} GESContainer;
The GESContainer base class.
typedef struct {
  /* signals */
  void (*child_added)             (GESContainer *container, GESTimelineElement *element);
  void (*child_removed)           (GESContainer *container, GESTimelineElement *element);
  gboolean (*add_child)           (GESContainer *container, GESTimelineElement *element);
  gboolean (*remove_child)        (GESContainer *container, GESTimelineElement *element);
  GList* (*ungroup)               (GESContainer *container, gboolean recursive);
  GESContainer * (*group)         (GList *containers);
  gboolean (*edit)                (GESContainer * container,
                                   GList * layers, gint new_layer_priority,
                                   GESEditMode mode,
                                   GESEdge edge,
                                   guint64 position);
} GESContainerClass;
| Virtual method that is called right after a GESTimelineElement is added | ||
| Virtual method that is called right after a GESTimelineElement is removed | ||
| Virtual method to add a child | ||
| Virtual method to remove a child | ||
| Ungroups the GESTimelineElement contained in this GESContainer, creating new | ||
| Groups the GESContainers together GESContainer containing those GESTimelineElement apropriately. | ||