## SwamiguiPanelSelector SwamiguiPanelSelector — Panel user interface notebook selection widget |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        SwamiguiPanelSelector;
    GType *             swamigui_get_panel_selector_types   (void);
    void                swamigui_register_panel_selector_type
                                                            (GType panel_type,
                                                             int order);
    GtkWidget *         swamigui_panel_selector_new         (void);
    void                swamigui_panel_selector_set_selection
                                                            (SwamiguiPanelSelector *selector,
                                                             IpatchList *items);
    IpatchList *        swamigui_panel_selector_get_selection
                                                            (SwamiguiPanelSelector *selector);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkNotebook
                                     +----SwamiguiPanelSelector

## Implemented Interfaces

SwamiguiPanelSelector implements AtkImplementorIface and GtkBuildable.

## Properties

      "item-selection"           IpatchList*           : Read / Write

## Description

Notebook widget which provides access to valid user interface panels for a given item selection.

## Details

### SwamiguiPanelSelector

    typedef struct _SwamiguiPanelSelector SwamiguiPanelSelector;

### swamigui_get_panel_selector_types ()

    GType *             swamigui_get_panel_selector_types   (void);

Get array of GType widgets which implement the SwamiguiPanel interface and have been registered with `swamigui_register_panel_selector_type()`.

Returns : | Array of GTypes (terminated with a 0 GType) which should be freed when finished, can be `NULL` if empty list.

### swamigui_register_panel_selector_type ()

    void                swamigui_register_panel_selector_type
                                                            (GType panel_type,
                                                             int order);

Register a panel interface for use in the panel selector notebook widget.

`panel_type` : | Type of widget with SwamiguiPanel interface to register
`order` : | Order of the interface in relation to others (determines order of notepad tabs, lower values are placed left of higher values)

### swamigui_panel_selector_new ()

    GtkWidget *         swamigui_panel_selector_new         (void);

Create panel selector notebook widget.

Returns : | New panel selector widget.

### swamigui_panel_selector_set_selection ()

    void                swamigui_panel_selector_set_selection
                                                            (SwamiguiPanelSelector *selector,
                                                             IpatchList *items);

Set the item selection of a panel selector widget.

`editor` : | Panel selector widget
`items` : | List of selected items or `NULL` to unset selection

### swamigui_panel_selector_get_selection ()

    IpatchList *        swamigui_panel_selector_get_selection
                                                            (SwamiguiPanelSelector *selector);

Get the list of selected items for a panel selector widget.

`selector` : | Panel selector widget
Returns : | New list containing selected items which has a ref count of one which the caller owns or `NULL` if no items selected. Remove the reference when finished with it.

## Property Details

### The `"item-selection"` property

      "item-selection"           IpatchList*           : Read / Write

Item selection.

## See Also

#SwamiguiPanel