## GladeBaseEditor

GladeBaseEditor — A customisable editor

## Functions

GladeBaseEditor * | glade_base_editor_new ()
void | glade_base_editor_add_default_properties ()
void | glade_base_editor_add_properties ()
void | glade_base_editor_add_label ()
void | glade_base_editor_set_show_signal_editor ()
GtkWidget * | glade_base_editor_pack_new_window ()
void | glade_base_editor_add_editable ()
void | glade_base_editor_append_types ()

## Properties

GObject * | container | Read / Write

## Signals

GObject* | build-child | Run Last
gboolean | change-type | Run Last
void | child-selected | Run Last
gboolean | delete-child | Run Last
gchar* | get-display-name | Run Last
gboolean | move-child | Run Last

## Types and Values

| GladeBaseEditor

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── GladeBaseEditor

## Implemented Interfaces

GladeBaseEditor implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Description

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

## Functions

### 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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

editor | a GladeBaseEditor |
val | whether to show the signal editor |

### 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.

#### Parameters

editor | a GladeBaseEditor |
title | the window title |
help_markup | the help text |

#### Returns

the newly created window.

[transfer full]

### glade_base_editor_add_editable ()

    void
    glade_base_editor_add_editable (GladeBaseEditor *editor,
                                    GladeWidget *gchild,
                                    GladeEditorPageType page);

Add `gchild` editor of type `page` to the base editor

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

#### Parameters

editor | a GladeBaseEditor |
gchild | the GladeWidget |
page | the GladeEditorPageType of the desired page for `gchild` |

### glade_base_editor_append_types ()

    void
    glade_base_editor_append_types (GladeBaseEditor *editor,
                                    GType parent_type,
                                    ...);

Appends 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 for parents of type `type`

#### Parameters

editor | A GladeBaseEditor |
parent_type | the parent type these child types will apply to |
... | A NULL terminated list of gchar *, GType |

## Types and Values

### GladeBaseEditor

    typedef struct _GladeBaseEditor GladeBaseEditor;

## Property Details

### The `“container”` property

      “container”                GObject *

The container object this editor is currently editing.

Owner: GladeBaseEditor

Flags: Read / Write

## Signal Details

### The `“build-child”` signal

    GObject*
    user_function (GladeBaseEditor *gladebaseeditor,
                   GObject         *gparent,
                   GType           *type,
                   gpointer         user_data)

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

#### Parameters

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.

[transfer full][nullable]

Flags: Run Last

### The `“change-type”` signal

    gboolean
    user_function (GladeBaseEditor *gladebaseeditor,
                   GObject         *arg1,
                   GType           *arg2,
                   gpointer         user_data)

Flags: Run Last

### The `“child-selected”` signal

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

Emitted 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.

#### Parameters

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

Flags: Run Last

### The `“delete-child”` signal

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

#### Parameters

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. |

Flags: Run Last

### The `“get-display-name”` signal

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

#### Parameters

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.

Flags: Run Last

### The `“move-child”` signal

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

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

#### Parameters

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

whether child has been successfully moved or not.

Flags: Run Last