## GOEditor

GOEditor

## Synopsis

                        GOEditor;
    void                go_editor_add_page                  (GOEditor *editor,
                                                             gpointer widget,
                                                             char const *label);
    void                go_editor_free                      (GOEditor *editor);
    GtkWidget *         go_editor_get_notebook              (GOEditor *editor);
    GtkWidget *         go_editor_get_page                  (GOEditor *editor,
                                                             char const *name);
    GtkWidget *         go_editor_get_registered_widget     (GOEditor *editor,
                                                             char const *name);
    GOEditor *          go_editor_new                       (void);
    void                go_editor_register_widget           (GOEditor *editor,
                                                             GtkWidget *widget);
    void                go_editor_set_store_page            (GOEditor *editor,
                                                             unsigned *store_page);

## Object Hierarchy

      GBoxed
       +----GOEditor

## Description

## Details

### GOEditor

    typedef struct _GOEditor GOEditor;

Embeds a notebook containing all the pages added to the editor.

### go_editor_add_page ()

    void                go_editor_add_page                  (GOEditor *editor,
                                                             gpointer widget,
                                                             char const *label);

Adds a page to `editor`.

`editor` : | a GOEditor
`widget` : | property edition widget
`label` : | a label identifying the widget

### go_editor_free ()

    void                go_editor_free                      (GOEditor *editor);

Frees a GOEditor object.

`editor` : | a GOEditor

### go_editor_get_notebook ()

    GtkWidget *         go_editor_get_notebook              (GOEditor *editor);

`editor` : | a GOEditor
Returns : | a GtkNotebook from the widget collection stored in `editor`. [transfer full]

### go_editor_get_page ()

    GtkWidget *         go_editor_get_page                  (GOEditor *editor,
                                                             char const *name);

`editor` : | GOEditor
`name` : | page name
Returns : | the page with `name` as name if any. [transfer none]

### go_editor_get_registered_widget ()

    GtkWidget *         go_editor_get_registered_widget     (GOEditor *editor,
                                                             char const *name);

`editor` : | a GOEditor
`name` : | the name of the registered widget
Returns : | a widget previously registered using `go_editor_register_widget`. [transfer none]

### go_editor_new ()

    GOEditor *          go_editor_new                       (void);

Returns : | a new GOEditor object, which is used to store a collection of property edition widgets (pages). The returned object must be freed using `go_editor_free`. [transfer full]

### go_editor_register_widget ()

    void                go_editor_register_widget           (GOEditor *editor,
                                                             GtkWidget *widget);

Registers a widget that then can be retrieved later using `go_editor_get_registered_widget`. The main use of this function is to provide the ability to extend a page.

`editor` : | a GOEditor
`widget` : | a GtkWidget

### go_editor_set_store_page ()

    void                go_editor_set_store_page            (GOEditor *editor,
                                                             unsigned *store_page);

Sets a placeholder for storing the last active editor page.

`editor` : | a GOEditor
`store_page` : | placeholder for the last selected page