## RBBrowserSource

RBBrowserSource — base class for sources that include genre/artist/album browsers

## Synopsis

                        RBBrowserSource;
                        RBBrowserSourceClass;
    char *              rb_browser_source_get_paned_key     (RBBrowserSource *source);
    gboolean            rb_browser_source_has_drop_support  (RBBrowserSource *source);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkHBox
                                           +----RBSource
                                                 +----RBBrowserSource
                                                       +----RBLibrarySource
                                                       +----RBRemovableMediaSource

## Implemented Interfaces

RBBrowserSource implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "populate"                 gboolean              : Read / Write / Construct
      "sorting-key"              gchar*                : Read / Write / Construct Only

## Description

This class simplifies implementation of sources that include genre/artist/album browsers. It also handles searching (using the search box) and a few other UI niceties.

Instances of browser sources will use a query that will match all entries of the entry type assigned to the source, so it's mostly suited for sources that have an entry type of their own.

## Details

### RBBrowserSource

    typedef struct _RBBrowserSource RBBrowserSource;

### RBBrowserSourceClass

    typedef struct {
    	RBSourceClass parent;

    	void		(*impl_pack_paned)		(RBBrowserSource *source, GtkWidget *paned);
    	char *		(*impl_get_paned_key)		(RBBrowserSource *source);
    	gboolean	(*impl_has_drop_support)	(RBBrowserSource *source);
    	void		(*impl_show_entry_popup)	(RBBrowserSource *source);
    } RBBrowserSourceClass;

### rb_browser_source_get_paned_key ()

    char *              rb_browser_source_get_paned_key     (RBBrowserSource *source);

Retrieves the GConf key that stores the height of the browser pane for the source. This is a virtual method that should be implemented by subclasses.

`source` : | a RBBrowserSource
Returns : | allocated string containing the GConf key name

### rb_browser_source_has_drop_support ()

    gboolean            rb_browser_source_has_drop_support  (RBBrowserSource *source);

This is a virtual method that should be implemented by subclasses. It returns `TRUE` if drag and drop target support for the source should be activated.

`source` : | a RBBrowser
Returns : | `TRUE` if drop support should be activated

## Property Details

### The `"populate"` property

      "populate"                 gboolean              : Read / Write / Construct

whether to populate the source.

Default value: TRUE

### The `"sorting-key"` property

      "sorting-key"              gchar*                : Read / Write / Construct Only

GConf key for storing sort-order.

Default value: NULL