RBDisplayPageGroup

RBDisplayPageGroup — Display page grouping

Synopsis

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
void                rb_display_page_group_add_core_groups
                                                        (GObject *shell,
                                                         RBDisplayPageModel *page_model);
RBDisplayPageGroup * rb_display_page_group_get_by_id    (const char *id);
RBDisplayPageGroup * rb_display_page_group_new          (GObject *shell,
                                                         const char *id,
                                                         const char *name,
                                                         RBDisplayPageGroupCategory category);
void                rb_display_page_group_loaded        (RBDisplayPageGroup *group);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBox
                           +----GtkHBox
                                 +----RBDisplayPage
                                       +----RBDisplayPageGroup

Implemented Interfaces

RBDisplayPageGroup implements AtkImplementorIface, GtkBuildable and GtkOrientable.

Properties

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

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.

Details

enum RBDisplayPageGroupCategory

typedef enum {
	RB_DISPLAY_PAGE_GROUP_CATEGORY_FIXED = 0,
	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
} RBDisplayPageGroupCategory;

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")))


rb_display_page_group_add_core_groups ()

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

Registers core page groups.

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.

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.

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.

group :

a RBDisplayPageGroup

Property Details

The "category" property

  "category"                 RBDisplayPageGroupType  : Read / Write / Construct Only

Page group category that the group falls into

Default value: RB_DISPLAY_PAGE_GROUP_CATEGORY_FIXED


The "id" property

  "id"                       gchar*                : Read / Write / Construct Only

Internal (untranslated) name for the page group

Default value: NULL


The "loaded" property

  "loaded"                   gboolean              : Read

Whether the group is loaded.

Default value: FALSE