## TotemVideoList TotemVideoList — a GtkTreeView widget for listing videos |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <totem-video-list.h>

                        TotemVideoList;
                        TotemVideoListClass;
    TotemVideoList *    totem_video_list_new                (void);
    GtkUIManager *      totem_video_list_get_ui_manager     (TotemVideoList *self);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkTreeView
                                     +----TotemVideoList

## Implemented Interfaces

TotemVideoList implements AtkImplementorIface and GtkBuildable.

## Properties

      "mrl-column"               gint                  : Read / Write
      "tooltip-column"           gint                  : Read / Write
      "totem"                    TotemObject*          : Read / Write

## Signals

      "starting-video"                                 : Run Last

## Description

TotemVideoList is a GtkTreeView designed for listing videos by their thumbnails using TotemCellRendererVideo. It supports tooltips, loading the videos by activating tree view rows, and GtkUIManager actions in the popup menu.

## Details

### TotemVideoList

    typedef struct _TotemVideoList TotemVideoList;

All the fields in the TotemVideoList structure are private and should never be accessed directly.

### TotemVideoListClass

    typedef struct {
    	GtkTreeViewClass parent;
    	gboolean (*starting_video) (TotemVideoList *video_list, GtkTreePath *path);
    } TotemVideoListClass;

The class structure for the TotemVideoList type.

GtkTreeViewClass `parent`; | the parent class
`starting_video` () | the generic signal handler for the "starting-video" signal, which can be overridden by inheriting classes

### totem_video_list_new ()

    TotemVideoList *    totem_video_list_new                (void);

Creates a new TotemVideoList with default properties.

Returns : | a new TotemVideoList

### totem_video_list_get_ui_manager ()

    GtkUIManager *      totem_video_list_get_ui_manager     (TotemVideoList *self);

Returns the GtkUIManager in use by `self`.

`self` : | a TotemVideoList
Returns : | `self`'s GtkUIManager

## Property Details

### The `"mrl-column"` property

      "mrl-column"               gint                  : Read / Write

The column number of the GtkTreeModel column containing MRLs of the videos in the video list. If it's set to -1, video rows will not be activatable (e.g. by double-clicking them).

Allowed values: >= G_MAXULONG

Default value: -1

### The `"tooltip-column"` property

      "tooltip-column"           gint                  : Read / Write

The column number of the GtkTreeModel column containing tooltips to be displayed by the video list. If it's set to -1, no tooltips shall be displayed.

Allowed values: >= G_MAXULONG

Default value: -1

### The `"totem"` property

      "totem"                    TotemObject*          : Read / Write

A TotemObject for integration purposes.

## Signal Details

### The `"starting-video"` signal

    gboolean            user_function                      (TotemVideoList *video_list,
                                                            GtkTreePath    *tree_path,
                                                            gpointer        user_data)       : Run Last

The "starting-video" signal is emitted when a video row is activated, just before the video is added to the playlist. It allows for the video's MRL in the GtkTreeModel to be modified, for example.

If this returns `TRUE`, the video will be played; otherwise, it will not.

`video_list` : | the TotemVideoList which received the signal
`tree_path` : | the GtkTreePath of the video row about to be played
`user_data` : | user data set when the signal handler was connected.

## See Also

TotemCellRendererVideo