## RBDisplayPageGroup RBDisplayPageGroup — Display page grouping |

## Functions

void | rb_display_page_group_add_core_groups ()
RBDisplayPageGroup * | rb_display_page_group_get_by_id ()
RBDisplayPageGroup * | rb_display_page_group_new ()
void | rb_display_page_group_loaded ()

## Properties

RBDisplayPageGroupType | category | Read / Write / Construct Only
gchar * | id | Read / Write / Construct Only
gboolean | loaded | Read

## Types and Values

enum | RBDisplayPageGroupCategory
struct | RBDisplayPageGroup
struct | RBDisplayPageGroupClass
#define | RB_DISPLAY_PAGE_GROUP_LIBRARY
#define | RB_DISPLAY_PAGE_GROUP_PLAYLISTS
#define | RB_DISPLAY_PAGE_GROUP_DEVICES
#define | RB_DISPLAY_PAGE_GROUP_SHARED
#define | RB_DISPLAY_PAGE_GROUP_STORES
#define | RB_DISPLAY_PAGE_GROUP_TOOLS

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── RBDisplayPage
                            ╰── RBDisplayPageGroup

## Implemented Interfaces

RBDisplayPageGroup implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Description

Page groups define sections of the display page tree. A page group consists of an internal name, a display name, and a category. The internal name can be used to locate a registered page group. The category is used to sort the page groups.

While RBDisplayPageGroup is a subclass of RBDisplayPage, by default page groups are never selectable so they have no content.

## Functions

### rb_display_page_group_add_core_groups ()

    void
    rb_display_page_group_add_core_groups (GObject *shell,
                                           RBDisplayPageModel *page_model);

Registers core page groups.

#### Parameters

shell | the RBShell |
page_model | the RBDisplayPageModel |

### rb_display_page_group_get_by_id ()

    RBDisplayPageGroup *
    rb_display_page_group_get_by_id (const char *id);

Locates a page group by name. If the page group has not been registered yet, returns NULL instead.

#### Parameters

id | name of page group to find |

#### Returns

existing page group, or NULL.

[transfer none]

### rb_display_page_group_new ()

    RBDisplayPageGroup *
    rb_display_page_group_new (GObject *shell,
                               const char *id,
                               const char *name,
                               RBDisplayPageGroupCategory category);

Creates a new page group object. The group will be registered before it is returned.

#### Parameters

shell | the RBShell |
id | name of the page group (untranslated, used in code) |
name | display name of the page group (translated) |
category | category for the page group |

#### Returns

new page group

### rb_display_page_group_loaded ()

    void
    rb_display_page_group_loaded (RBDisplayPageGroup *group);

Called when the page group is fully loaded, that is, all initial pages have been added.

#### Parameters

group | a RBDisplayPageGroup |

## Types and Values

### enum RBDisplayPageGroupCategory

#### Members

RB_DISPLAY_PAGE_GROUP_CATEGORY_FIXED |  |
RB_DISPLAY_PAGE_GROUP_CATEGORY_REMOVABLE |  |
RB_DISPLAY_PAGE_GROUP_CATEGORY_PERSISTENT |  |
RB_DISPLAY_PAGE_GROUP_CATEGORY_TRANSIENT |  |
RB_DISPLAY_PAGE_GROUP_CATEGORY_TOOLS |  |
RB_DISPLAY_PAGE_GROUP_CATEGORY_LAST |  |

### struct RBDisplayPageGroup

    struct RBDisplayPageGroup;

### struct RBDisplayPageGroupClass

    struct RBDisplayPageGroupClass {
    	RBDisplayPageClass parent_class;
    };

### RB_DISPLAY_PAGE_GROUP_LIBRARY

    #define RB_DISPLAY_PAGE_GROUP_LIBRARY           (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("library")))

### RB_DISPLAY_PAGE_GROUP_PLAYLISTS

    #define RB_DISPLAY_PAGE_GROUP_PLAYLISTS         (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("playlists")))

### RB_DISPLAY_PAGE_GROUP_DEVICES

    #define RB_DISPLAY_PAGE_GROUP_DEVICES           (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("devices")))

### RB_DISPLAY_PAGE_GROUP_SHARED

    #define RB_DISPLAY_PAGE_GROUP_SHARED            (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("shared")))

### RB_DISPLAY_PAGE_GROUP_STORES

    #define RB_DISPLAY_PAGE_GROUP_STORES            (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("stores")))

### RB_DISPLAY_PAGE_GROUP_TOOLS

    #define RB_DISPLAY_PAGE_GROUP_TOOLS             (RB_DISPLAY_PAGE (rb_display_page_group_get_by_id ("tools")))

## Property Details

### The `“category”` property

      “category”                 RBDisplayPageGroupType

Page group category that the group falls into

Flags: Read / Write / Construct Only

Default value: RB_DISPLAY_PAGE_GROUP_CATEGORY_FIXED

### The `“id”` property

      “id”                       gchar *

Internal (untranslated) name for the page group

Flags: Read / Write / Construct Only

Default value: NULL

### The `“loaded”` property

      “loaded”                   gboolean

Whether the group is loaded.

Flags: Read

Default value: FALSE