## GladeBaseEditor

GladeBaseEditor — A customisable editor

## Synopsis

    struct              GladeBaseEditor;
    GladeBaseEditor *   glade_base_editor_new               (GObject *container,
                                                             GladeEditable *main_editable,
                                                             ...);
    void                glade_base_editor_add_default_properties
                                                            (GladeBaseEditor *editor,
                                                             GladeWidget *gchild);
    void                glade_base_editor_add_properties    (GladeBaseEditor *editor,
                                                             GladeWidget *gchild,
                                                             gboolean packing,
                                                             ...);
    void                glade_base_editor_add_label         (GladeBaseEditor *editor,
                                                             gchar *str);
    void                glade_base_editor_set_show_signal_editor
                                                            (GladeBaseEditor *editor,
                                                             gboolean val);
    GtkWidget *         glade_base_editor_pack_new_window   (GladeBaseEditor *editor,
                                                             gchar *title,
                                                             gchar *help_markup);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkVBox
                                           +----GladeBaseEditor

## Implemented Interfaces

GladeBaseEditor implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "container"                GObject*              : Read / Write

## Signals

      "build-child"                                    : Run Last
      "change-type"                                    : Run Last
      "child-selected"                                 : Run Last
      "delete-child"                                   : Run Last
      "get-display-name"                               : Run Last
      "move-child"                                     : Run Last

## Description

Convenience object to edit containers where placeholders do not make sense, like GtkMenubar.

## Details

### struct GladeBaseEditor

    struct GladeBaseEditor;

### glade_base_editor_new ()

    GladeBaseEditor *   glade_base_editor_new               (GObject *container,
                                                             GladeEditable *main_editable,
                                                             ...);

Creates a new GladeBaseEditor with `container` toplevel support for all the object types indicated in the variable argument list. Argument List: o The type name o The GType the editor will support

`container` : | a container this new editor will edit.
`main_editable` : | the custom GladeEditable for `container`, or `NULL` @... A NULL terminated list of gchar *, GType
Returns : | a new GladeBaseEditor.

### glade_base_editor_add_default_properties ()

    void                glade_base_editor_add_default_properties
                                                            (GladeBaseEditor *editor,
                                                             GladeWidget *gchild);

Add `gchild` name and type property to `editor`

NOTE: This function is intended to be used in "child-selected" callbacks

`editor` : | a GladeBaseEditor
`gchild` : | a GladeWidget

### glade_base_editor_add_properties ()

    void                glade_base_editor_add_properties    (GladeBaseEditor *editor,
                                                             GladeWidget *gchild,
                                                             gboolean packing,
                                                             ...);

Add `gchild` properties to `editor`

NOTE: This function is intended to be used in "child-selected" callbacks

`editor` : | a GladeBaseEditor
`gchild` : | a GladeWidget
`packing` : | whether we are adding packing properties or not
`...` : | A NULL terminated list of properties names.

### glade_base_editor_add_label ()

    void                glade_base_editor_add_label         (GladeBaseEditor *editor,
                                                             gchar *str);

Adds a new label to `editor`

NOTE: This function is intended to be used in "child-selected" callbacks

`editor` : | a GladeBaseEditor
`str` : | the label string

### glade_base_editor_set_show_signal_editor ()

    void                glade_base_editor_set_show_signal_editor
                                                            (GladeBaseEditor *editor,
                                                             gboolean val);

Shows/hide `editor` 's signal editor

`editor` : | a GladeBaseEditor

### glade_base_editor_pack_new_window ()

    GtkWidget *         glade_base_editor_pack_new_window   (GladeBaseEditor *editor,
                                                             gchar *title,
                                                             gchar *help_markup);

This convenience function create a new dialog window and packs `editor` in it.

`editor` : | a GladeBaseEditor
`title` : | the window title
`help_markup` : | the help text
Returns : | the newly created window

## Property Details

### The `"container"` property

      "container"                GObject*              : Read / Write

The container object this editor is currently editing.

## Signal Details

### The `"build-child"` signal

    GObject*            user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *gparent,
                                                            guint            type,
                                                            gpointer         user_data)            : Run Last

Create a child widget here if something else must be done other than calling `glade_command_create()` such as creating an intermediate parent.

`gladebaseeditor` : | the GladeBaseEditor which received the signal.
`gparent` : | the parent of the new child
`type` : | the GType of the child
`user_data` : | user data set when the signal handler was connected.
Returns : | the newly created GladeWidget or NULL if child cant be created

### The `"change-type"` signal

    gboolean            user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *arg1,
                                                            guint            arg2,
                                                            gpointer         user_data)            : Run Last

### The `"child-selected"` signal

    void                user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *gchild,
                                                            gpointer         user_data)            : Run Last

Emited when the user selects a child in the editor's treeview. You can add the relevant child properties here using `glade_base_editor_add_default_properties()` and `glade_base_editor_add_properties()` You can also add labels with glade_base_editor_add_label to make the editor look pretty.

`gladebaseeditor` : | the GladeBaseEditor which received the signal.
`gchild` : | the selected GladeWidget.
`user_data` : | user data set when the signal handler was connected.

### The `"delete-child"` signal

    gboolean            user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *gparent,
                                                            GObject         *gchild,
                                                            gpointer         user_data)            : Run Last

`gladebaseeditor` : | the GladeBaseEditor which received the signal.
`gparent` : | the parent
`gchild` : | the child to delete
`user_data` : | user data set when the signal handler was connected.

### The `"get-display-name"` signal

    gchar*              user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *gchild,
                                                            gpointer         user_data)            : Run Last

`gladebaseeditor` : | the GladeBaseEditor which received the signal.
`gchild` : | the child to get display name string to show in `gladebaseeditor` treeview.
`user_data` : | user data set when the signal handler was connected.
Returns : | a newly allocated string.

### The `"move-child"` signal

    gboolean            user_function                      (GladeBaseEditor *gladebaseeditor,
                                                            GObject         *gparent,
                                                            GObject         *gchild,
                                                            gpointer         user_data)            : Run Last

Move child here if something else must be done other than cut & paste.

`gladebaseeditor` : | the GladeBaseEditor which received the signal.
`gparent` : | the new parent of `gchild`
`gchild` : | the GladeWidget to move
`user_data` : | user data set when the signal handler was connected.
Returns : | wheater child has been sucessfully moved or not.