RBDisplayPageTree

RBDisplayPageTree — widget displaying the tree of RBDisplayPage instances

Properties

GtkTreeModel * model Read
RBShell * shell Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkGrid
                    ╰── RBDisplayPageTree

Implemented Interfaces

RBDisplayPageTree implements AtkImplementorIface, GtkBuildable and GtkOrientable.

Description

The display page tree widget is a GtkTreeView backed by a GtkListStore containing the display page instances (sources and other things). Display pages include sources, such as the library and playlists, and other things like the visualization display.

Display pages are shown in the list with an icon and the name. The current playing source is displayed in bold.

Sources are divided into groups - library, stores, playlists, devices, network shares. Groups are displayed as headers, with expanders for hiding and showing the sources in the group. Sources themselves may also have child sources, such as playlists on portable audio players.

Functions

rb_display_page_tree_new ()

RBDisplayPageTree *
rb_display_page_tree_new (RBShell *shell);

Creates the display page tree widget.

Parameters

shell

the RBShell instance

 

Returns

the display page tree widget.


rb_display_page_tree_edit_source_name ()

void
rb_display_page_tree_edit_source_name (RBDisplayPageTree *display_page_tree,
                                       RBSource *source);

Initiates editing of the name of the specified source. The row for the source is selected and given input focus, allowing the user to edit the name. source_name_edited_cb is called when the user finishes editing.

Parameters

display_page_tree

the RBDisplayPageTree

 

source

the RBSource to edit

 

rb_display_page_tree_select ()

void
rb_display_page_tree_select (RBDisplayPageTree *display_page_tree,
                             RBDisplayPage *page);

Selects the specified page in the tree. This will result in the 'selected' signal being emitted.

Parameters

display_page_tree

the RBDisplayPageTree

 

page

the RBDisplayPage to select

 

rb_display_page_tree_toggle_expanded ()

void
rb_display_page_tree_toggle_expanded (RBDisplayPageTree *display_page_tree,
                                      RBDisplayPage *page);

If page is expanded (children visible), collapses it, otherwise expands it.

Parameters

display_page_tree

the RBDisplayPageTree

 

page

the RBDisplayPage to toggle

 

Types and Values

struct RBDisplayPageTree

struct RBDisplayPageTree;

struct RBDisplayPageTreeClass

struct RBDisplayPageTreeClass {
	GtkGridClass parent_class;

	/* signals */
	void (*selected) (RBDisplayPageTree *tree, RBDisplayPage *page);
	void (*drop_received) (RBDisplayPageTree *tree, RBDisplayPage *page, GtkSelectionData *data);
};

Property Details

The “model” property

  “model”                    GtkTreeModel *

The GtkTreeModel for the display page tree

Flags: Read


The “shell” property

  “shell”                    RBShell *

The RBShell instance

Flags: Read / Write / Construct Only

Signal Details

The “drop-received” signal

void
user_function (RBDisplayPageTree *tree,
               gpointer           page,
               gpointer           data,
               gpointer           user_data)

Emitted when a drag and drop to the tree completes.

Parameters

tree

the RBDisplayPageTree

 

page

the RBDisplagePage receiving the drop

 

data

the drop data

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “selected” signal

void
user_function (RBDisplayPageTree *tree,
               GObject           *page,
               gpointer           user_data)

Emitted when a page is selected from the tree

Parameters

tree

the RBDisplayPageTree

 

page

the newly selected RBDisplayPage

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last