summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin.noel@collabora.com>2019-08-16 16:48:18 +0200
committerAlberto Fanjul <albertofanjul@gmail.com>2019-08-20 18:58:15 +0000
commit567f8858adb6394440abbf01000af8229e293c8d (patch)
treea4d17c9c102594f2c2f602d61b85494151d56954
parentdf6d47f52b5310e4c83e0b715699eef543a46781 (diff)
downloadglade-567f8858adb6394440abbf01000af8229e293c8d.tar.gz
gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeBaseEditor
-rw-r--r--gladeui/glade-base-editor.c376
-rw-r--r--gladeui/glade-base-editor.h29
2 files changed, 211 insertions, 194 deletions
diff --git a/gladeui/glade-base-editor.c b/gladeui/glade-base-editor.c
index 18601fdc..f55677f0 100644
--- a/gladeui/glade-base-editor.c
+++ b/gladeui/glade-base-editor.c
@@ -70,7 +70,7 @@ typedef struct
GtkTreeModel *children;
} ChildTypeTab;
-struct _GladeBaseEditorPrivate
+typedef struct _GladeBaseEditorPrivate
{
GladeWidget *gcontainer; /* The container we are editing */
@@ -94,7 +94,7 @@ struct _GladeBaseEditorPrivate
gboolean updating_treeview;
guint properties_idle;
-};
+} GladeBaseEditorPrivate;
enum
{
@@ -128,17 +128,18 @@ static void glade_base_editor_block_callbacks (GladeBaseEditor *editor,
static void
reset_child_types (GladeBaseEditor *editor)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GList *l;
ChildTypeTab *tab;
- for (l = editor->priv->child_types; l; l = l->next)
+ for (l = priv->child_types; l; l = l->next)
{
tab = l->data;
g_object_unref (tab->children);
g_free (tab);
}
- g_list_free (editor->priv->child_types);
- editor->priv->child_types = NULL;
+ g_list_free (priv->child_types);
+ priv->child_types = NULL;
}
@@ -154,8 +155,10 @@ sort_type_by_hierarchy (ChildTypeTab *a, ChildTypeTab *b)
static GtkTreeModel *
get_children_model_for_type (GladeBaseEditor *editor, GType type)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+
GList *l;
- for (l = editor->priv->child_types; l; l = l->next)
+ for (l = priv->child_types; l; l = l->next)
{
ChildTypeTab *tab = l->data;
if (g_type_is_a (type, tab->parent_type))
@@ -169,9 +172,10 @@ get_children_model_for_child_type (GladeBaseEditor *editor, GType type)
{
GList *l;
GtkTreeModel *model = NULL;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
/* Get deep derived classes first and work up the sorted heirarchy */
- for (l = g_list_last (editor->priv->child_types); model == NULL && l;
+ for (l = g_list_last (priv->child_types); model == NULL && l;
l = l->prev)
{
ChildTypeTab *tab = l->data;
@@ -249,6 +253,7 @@ glade_base_editor_fill_store_real (GladeBaseEditor *e,
GladeWidget *gwidget,
GtkTreeIter *parent)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GList *children, *l;
GtkTreeIter iter;
@@ -269,11 +274,11 @@ glade_base_editor_fill_store_real (GladeBaseEditor *e,
GLADE_BASE_EDITOR_CLASS_NAME,
&type_name, -1))
{
- gtk_tree_store_append (GTK_TREE_STORE (e->priv->model), &iter, parent);
+ gtk_tree_store_append (GTK_TREE_STORE (priv->model), &iter, parent);
name = glade_base_editor_get_display_name (e, gchild);
- gtk_tree_store_set (GTK_TREE_STORE (e->priv->model), &iter,
+ gtk_tree_store_set (GTK_TREE_STORE (priv->model), &iter,
GLADE_BASE_EDITOR_GWIDGET, gchild,
GLADE_BASE_EDITOR_OBJECT, child,
GLADE_BASE_EDITOR_TYPE_NAME, type_name,
@@ -297,20 +302,23 @@ glade_base_editor_fill_store_real (GladeBaseEditor *e,
static void
glade_base_editor_fill_store (GladeBaseEditor *e)
{
- gtk_tree_store_clear (GTK_TREE_STORE (e->priv->model));
- gtk_tree_view_set_model (GTK_TREE_VIEW (e->priv->treeview), NULL);
- glade_base_editor_fill_store_real (e, e->priv->gcontainer, NULL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (e->priv->treeview), e->priv->model);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+
+ gtk_tree_store_clear (GTK_TREE_STORE (priv->model));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->treeview), NULL);
+ glade_base_editor_fill_store_real (e, priv->gcontainer, NULL);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->treeview), priv->model);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (e->priv->treeview));
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
}
static gboolean
glade_base_editor_get_child_selected (GladeBaseEditor *e, GtkTreeIter *iter)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GtkTreeSelection *sel =
- gtk_tree_view_get_selection (GTK_TREE_VIEW (e->priv->treeview));
+ gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->treeview));
return (sel) ? gtk_tree_selection_get_selected (sel, NULL, iter) : FALSE;
}
@@ -350,6 +358,7 @@ glade_base_editor_name_activate (GtkEntry *entry, GladeWidget *gchild)
{
const gchar *text = gtk_entry_get_text (GTK_ENTRY (entry));
GladeBaseEditor *editor = g_object_get_data (G_OBJECT (entry), "editor");
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
gchar *new_name = NULL;
if (text == NULL || text[0] == '\0')
@@ -359,17 +368,17 @@ glade_base_editor_name_activate (GtkEntry *entry, GladeWidget *gchild)
* the widget which would otherwise break.
*/
if (!glade_widget_has_prop_refs (gchild))
- new_name = glade_project_new_widget_name (editor->priv->project, NULL, GLADE_UNNAMED_PREFIX);
+ new_name = glade_project_new_widget_name (priv->project, NULL, GLADE_UNNAMED_PREFIX);
}
else
new_name = g_strdup (text);
if (new_name && new_name[0])
{
- g_signal_handlers_block_by_func (editor->priv->project,
+ g_signal_handlers_block_by_func (priv->project,
glade_base_editor_project_widget_name_changed, editor);
glade_command_set_name (gchild, new_name);
- g_signal_handlers_unblock_by_func (editor->priv->project,
+ g_signal_handlers_unblock_by_func (priv->project,
glade_base_editor_project_widget_name_changed, editor);
}
@@ -381,8 +390,9 @@ glade_base_editor_table_attach (GladeBaseEditor *e,
GtkWidget *child1,
GtkWidget *child2)
{
- GtkGrid *table = GTK_GRID (e->priv->table);
- gint row = e->priv->row;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ GtkGrid *table = GTK_GRID (priv->table);
+ gint row = priv->row;
if (child1)
{
@@ -397,27 +407,27 @@ glade_base_editor_table_attach (GladeBaseEditor *e,
gtk_widget_show (child2);
}
- e->priv->row++;
+ priv->row++;
}
static void
glade_base_editor_clear (GladeBaseEditor *editor)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
- gtk_widget_show (e->tip_label);
- gtk_container_foreach (GTK_CONTAINER (e->table),
+ gtk_widget_show (priv->tip_label);
+ gtk_container_foreach (GTK_CONTAINER (priv->table),
(GtkCallback)gtk_widget_destroy, NULL);
- e->row = 0;
- gtk_widget_set_sensitive (e->delete_button, FALSE);
- glade_signal_editor_load_widget (e->signal_editor, NULL);
+ priv->row = 0;
+ gtk_widget_set_sensitive (priv->delete_button, FALSE);
+ glade_signal_editor_load_widget (priv->signal_editor, NULL);
}
static void
glade_base_editor_treeview_cursor_changed (GtkTreeView *treeview,
GladeBaseEditor *editor)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkTreeIter iter;
GObject *child;
GladeWidget *gchild;
@@ -428,9 +438,9 @@ glade_base_editor_treeview_cursor_changed (GtkTreeView *treeview,
return;
glade_base_editor_clear (editor);
- gtk_widget_set_sensitive (e->delete_button, TRUE);
+ gtk_widget_set_sensitive (priv->delete_button, TRUE);
- gtk_tree_model_get (e->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &gchild,
GLADE_BASE_EDITOR_OBJECT, &child, -1);
@@ -442,16 +452,18 @@ glade_base_editor_treeview_cursor_changed (GtkTreeView *treeview,
0, gchild);
/* Update Signal Editor */
- glade_signal_editor_load_widget (e->signal_editor, gchild);
+ glade_signal_editor_load_widget (priv->signal_editor, gchild);
}
static gboolean
glade_base_editor_update_properties_idle (gpointer data)
{
GladeBaseEditor *editor = (GladeBaseEditor *) data;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+
glade_base_editor_treeview_cursor_changed
- (GTK_TREE_VIEW (editor->priv->treeview), editor);
- editor->priv->properties_idle = 0;
+ (GTK_TREE_VIEW (priv->treeview), editor);
+ priv->properties_idle = 0;
return FALSE;
}
@@ -459,25 +471,28 @@ glade_base_editor_update_properties_idle (gpointer data)
static void
glade_base_editor_update_properties (GladeBaseEditor *editor)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+
g_return_if_fail (GLADE_IS_BASE_EDITOR (editor));
- if (!editor->priv->properties_idle)
- editor->priv->properties_idle =
+ if (!priv->properties_idle)
+ priv->properties_idle =
g_idle_add (glade_base_editor_update_properties_idle, editor);
}
static void
glade_base_editor_set_cursor (GladeBaseEditor *e, GtkTreeIter *iter)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GtkTreePath *path;
GtkTreeIter real_iter;
if (iter == NULL && glade_base_editor_get_child_selected (e, &real_iter))
iter = &real_iter;
- if (iter && (path = gtk_tree_model_get_path (e->priv->model, iter)))
+ if (iter && (path = gtk_tree_model_get_path (priv->model, iter)))
{
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (e->priv->treeview), path, NULL,
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->treeview), path, NULL,
FALSE);
gtk_tree_path_free (path);
}
@@ -488,7 +503,8 @@ glade_base_editor_find_child_real (GladeBaseEditor *e,
GladeWidget *gchild,
GtkTreeIter *iter)
{
- GtkTreeModel *model = e->priv->model;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ GtkTreeModel *model = priv->model;
GtkTreeIter child_iter;
GladeWidget *child;
@@ -517,7 +533,9 @@ glade_base_editor_find_child (GladeBaseEditor *e,
GladeWidget *child,
GtkTreeIter *iter)
{
- if (gtk_tree_model_get_iter_first (e->priv->model, iter))
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+
+ if (gtk_tree_model_get_iter_first (priv->model, iter))
return glade_base_editor_find_child_real (e, child, iter);
return FALSE;
@@ -537,6 +555,7 @@ glade_base_editor_child_change_type (GladeBaseEditor *editor,
GtkTreeIter *iter,
GType type)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeWidget *gchild;
GObject *child;
gchar *class_name;
@@ -545,7 +564,7 @@ glade_base_editor_child_change_type (GladeBaseEditor *editor,
glade_base_editor_block_callbacks (editor, TRUE);
/* Get old widget data */
- gtk_tree_model_get (editor->priv->model, iter,
+ gtk_tree_model_get (priv->model, iter,
GLADE_BASE_EDITOR_GWIDGET, &gchild,
GLADE_BASE_EDITOR_OBJECT, &child, -1);
@@ -611,7 +630,7 @@ glade_base_editor_child_type_edited (GtkCellRendererText *cell,
const gchar *new_text,
GladeBaseEditor *editor)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkTreeModel *child_class;
GtkTreePath *path;
GtkTreeIter iter, combo_iter;
@@ -619,10 +638,10 @@ glade_base_editor_child_type_edited (GtkCellRendererText *cell,
gchar *type_name = NULL;
path = gtk_tree_path_new_from_string (path_string);
- gtk_tree_model_get_iter (e->model, &iter, path);
+ gtk_tree_model_get_iter (priv->model, &iter, path);
gtk_tree_path_free (path);
- gtk_tree_model_get (e->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_TYPE_NAME, &type_name,
GLADE_BASE_EDITOR_CHILD_TYPES, &child_class, -1);
@@ -666,7 +685,8 @@ static void
glade_base_editor_reorder_children (GladeBaseEditor *editor,
GtkTreeIter *child)
{
- GtkTreeModel *model = editor->priv->model;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+ GtkTreeModel *model = priv->model;
GladeWidget *gchild;
GladeProperty *property;
GtkTreeIter parent, iter;
@@ -694,7 +714,7 @@ glade_base_editor_add_child (GladeBaseEditor *editor,
GType type,
GladeBaseEditorAddMode add_mode)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkTreeIter iter, new_iter;
GladeWidget *gparent, *gchild_new;
gchar *name, *class_name;
@@ -702,21 +722,21 @@ glade_base_editor_add_child (GladeBaseEditor *editor,
glade_base_editor_block_callbacks (editor, TRUE);
- gparent = e->gcontainer;
+ gparent = priv->gcontainer;
if (add_mode != ADD_ROOT &&
(selected_iter = glade_base_editor_get_child_selected (editor, &iter)))
{
if (add_mode == ADD_CHILD)
{
- gtk_tree_model_get (e->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &gparent, -1);
g_object_unref (gparent);
}
else if (add_mode == ADD_SIBLING &&
- gtk_tree_model_iter_parent (e->model, &new_iter, &iter))
+ gtk_tree_model_iter_parent (priv->model, &new_iter, &iter))
{
- gtk_tree_model_get (e->model, &new_iter,
+ gtk_tree_model_get (priv->model, &new_iter,
GLADE_BASE_EDITOR_GWIDGET, &gparent, -1);
g_object_unref (gparent);
}
@@ -742,19 +762,19 @@ glade_base_editor_add_child (GladeBaseEditor *editor,
if (selected_iter)
{
if (add_mode == ADD_CHILD)
- gtk_tree_store_append (GTK_TREE_STORE (editor->priv->model), &new_iter,
+ gtk_tree_store_append (GTK_TREE_STORE (priv->model), &new_iter,
&iter);
else
- gtk_tree_store_insert_after (GTK_TREE_STORE (editor->priv->model),
+ gtk_tree_store_insert_after (GTK_TREE_STORE (priv->model),
&new_iter, NULL, &iter);
}
else
- gtk_tree_store_append (GTK_TREE_STORE (editor->priv->model), &new_iter,
+ gtk_tree_store_append (GTK_TREE_STORE (priv->model), &new_iter,
NULL);
name = glade_base_editor_get_display_name (editor, gchild_new);
- gtk_tree_store_set (GTK_TREE_STORE (editor->priv->model), &new_iter,
+ gtk_tree_store_set (GTK_TREE_STORE (priv->model), &new_iter,
GLADE_BASE_EDITOR_GWIDGET, gchild_new,
GLADE_BASE_EDITOR_OBJECT,
glade_widget_get_object (gchild_new),
@@ -767,7 +787,7 @@ glade_base_editor_add_child (GladeBaseEditor *editor,
glade_base_editor_reorder_children (editor, &new_iter);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (e->treeview));
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
glade_base_editor_set_cursor (editor, &new_iter);
glade_command_pop_group ();
@@ -794,6 +814,7 @@ glade_base_editor_add_item_activate (GtkMenuItem *menuitem,
static GtkWidget *
glade_base_editor_popup (GladeBaseEditor *editor, GladeWidget *widget)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkWidget *popup, *item;
GtkTreeModel *model;
GtkTreeIter iter;
@@ -806,7 +827,7 @@ glade_base_editor_popup (GladeBaseEditor *editor, GladeWidget *widget)
G_OBJECT_TYPE (glade_widget_get_object (widget)))) == NULL)
model =
get_children_model_for_type (editor,
- G_OBJECT_TYPE (glade_widget_get_object (editor->priv->gcontainer)));
+ G_OBJECT_TYPE (glade_widget_get_object (priv->gcontainer)));
g_assert (model);
@@ -881,6 +902,7 @@ glade_base_editor_popup_handler (GtkWidget *treeview,
GdkEventButton *event,
GladeBaseEditor *e)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GtkTreePath *path;
GtkWidget *popup;
@@ -896,8 +918,8 @@ glade_base_editor_popup_handler (GtkWidget *treeview,
gtk_tree_view_set_cursor (GTK_TREE_VIEW (treeview), path, NULL,
FALSE);
- gtk_tree_model_get_iter (e->priv->model, &iter, path);
- gtk_tree_model_get (e->priv->model, &iter,
+ gtk_tree_model_get_iter (priv->model, &iter, path);
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &gwidget, -1);
@@ -917,27 +939,30 @@ glade_base_editor_popup_handler (GtkWidget *treeview,
static void
glade_base_editor_add_activate (GtkButton *button, GladeBaseEditor *e)
{
- if (e->priv->add_type)
- glade_base_editor_add_child (e, e->priv->add_type, ADD_ROOT);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+
+ if (priv->add_type)
+ glade_base_editor_add_child (e, priv->add_type, ADD_ROOT);
}
static void
glade_base_editor_delete_child (GladeBaseEditor *e)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GladeWidget *child, *gparent;
GtkTreeIter iter, parent;
if (!glade_base_editor_get_child_selected (e, &iter))
return;
- gtk_tree_model_get (e->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &child, -1);
- if (gtk_tree_model_iter_parent (e->priv->model, &parent, &iter))
- gtk_tree_model_get (e->priv->model, &parent,
+ if (gtk_tree_model_iter_parent (priv->model, &parent, &iter))
+ gtk_tree_model_get (priv->model, &parent,
GLADE_BASE_EDITOR_GWIDGET, &gparent, -1);
else
- gparent = e->priv->gcontainer;
+ gparent = priv->gcontainer;
glade_command_push_group (_("Delete %s child from %s"),
glade_widget_get_name (child),
@@ -972,6 +997,7 @@ glade_base_editor_is_child (GladeBaseEditor *e,
GladeWidget *gchild,
gboolean valid_type)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
GladeWidget *gcontainer = glade_widget_get_parent (gchild);
if (!gcontainer)
@@ -986,13 +1012,13 @@ glade_base_editor_is_child (GladeBaseEditor *e,
G_OBJECT_TYPE (child), -1) == FALSE)
return FALSE;
- gcontainer = e->priv->gcontainer;
+ gcontainer = priv->gcontainer;
}
else
{
GtkTreeIter iter;
if (glade_base_editor_get_child_selected (e, &iter))
- gtk_tree_model_get (e->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &gcontainer, -1);
else
return FALSE;
@@ -1009,14 +1035,15 @@ static gboolean
glade_base_editor_update_treeview_idle (gpointer data)
{
GladeBaseEditor *e = data;
- GList *selection = glade_project_selection_get (e->priv->project);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ GList *selection = glade_project_selection_get (priv->project);
glade_base_editor_block_callbacks (e, TRUE);
glade_base_editor_fill_store (e);
glade_base_editor_clear (e);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (e->priv->treeview));
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
if (selection)
{
@@ -1026,7 +1053,7 @@ glade_base_editor_update_treeview_idle (gpointer data)
glade_base_editor_select_child (e, widget);
}
- e->priv->updating_treeview = FALSE;
+ priv->updating_treeview = FALSE;
glade_base_editor_block_callbacks (e, FALSE);
return FALSE;
@@ -1037,12 +1064,13 @@ glade_base_editor_project_widget_name_changed (GladeProject *project,
GladeWidget *widget,
GladeBaseEditor *editor)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeWidget *selected_child;
GtkTreeIter iter;
if (glade_base_editor_get_child_selected (editor, &iter))
{
- gtk_tree_model_get (editor->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
GLADE_BASE_EDITOR_GWIDGET, &selected_child, -1);
if (widget == selected_child)
glade_base_editor_update_properties (editor);
@@ -1060,25 +1088,25 @@ glade_base_editor_project_closed (GladeProject *project, GladeBaseEditor *e)
static void
glade_base_editor_reorder (GladeBaseEditor *editor, GtkTreeIter *iter)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeWidget *gchild, *gparent;
GtkTreeIter parent_iter;
gboolean retval;
glade_command_push_group (_("Reorder %s's children"),
- glade_widget_get_name (e->gcontainer));
+ glade_widget_get_name (priv->gcontainer));
- gtk_tree_model_get (e->model, iter, GLADE_BASE_EDITOR_GWIDGET, &gchild, -1);
+ gtk_tree_model_get (priv->model, iter, GLADE_BASE_EDITOR_GWIDGET, &gchild, -1);
g_object_unref (G_OBJECT (gchild));
- if (gtk_tree_model_iter_parent (e->model, &parent_iter, iter))
+ if (gtk_tree_model_iter_parent (priv->model, &parent_iter, iter))
{
- gtk_tree_model_get (e->model, &parent_iter,
+ gtk_tree_model_get (priv->model, &parent_iter,
GLADE_BASE_EDITOR_GWIDGET, &gparent, -1);
g_object_unref (G_OBJECT (gparent));
}
else
- gparent = e->gcontainer;
+ gparent = priv->gcontainer;
g_signal_emit (editor, glade_base_editor_signals[SIGNAL_MOVE_CHILD],
0, gparent, gchild, &retval);
@@ -1089,7 +1117,7 @@ glade_base_editor_reorder (GladeBaseEditor *editor, GtkTreeIter *iter)
{
glade_base_editor_clear (editor);
glade_base_editor_fill_store (editor);
- glade_base_editor_find_child (editor, gchild, &editor->priv->iter);
+ glade_base_editor_find_child (editor, gchild, &priv->iter);
}
glade_command_pop_group ();
@@ -1099,10 +1127,11 @@ static gboolean
glade_base_editor_drag_and_drop_idle (gpointer data)
{
GladeBaseEditor *e = data;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
- glade_base_editor_reorder (e, &e->priv->iter);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (e->priv->treeview));
- glade_base_editor_set_cursor (e, &e->priv->iter);
+ glade_base_editor_reorder (e, &priv->iter);
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
+ glade_base_editor_set_cursor (e, &priv->iter);
glade_base_editor_block_callbacks (e, FALSE);
return FALSE;
@@ -1114,7 +1143,8 @@ glade_base_editor_row_inserted (GtkTreeModel *model,
GtkTreeIter *iter,
GladeBaseEditor *e)
{
- e->priv->iter = *iter;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ priv->iter = *iter;
glade_base_editor_block_callbacks (e, TRUE);
g_idle_add (glade_base_editor_drag_and_drop_idle, e);
}
@@ -1124,7 +1154,8 @@ glade_base_editor_project_remove_widget (GladeProject *project,
GladeWidget *widget,
GladeBaseEditor *e)
{
- if (widget == e->priv->gcontainer)
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ if (widget == priv->gcontainer)
{
glade_base_editor_set_container (e, NULL);
return;
@@ -1135,7 +1166,7 @@ glade_base_editor_project_remove_widget (GladeProject *project,
GtkTreeIter iter;
if (glade_base_editor_find_child (e, widget, &iter))
{
- gtk_tree_store_remove (GTK_TREE_STORE (e->priv->model), &iter);
+ gtk_tree_store_remove (GTK_TREE_STORE (priv->model), &iter);
glade_base_editor_clear (e);
}
}
@@ -1150,12 +1181,13 @@ glade_base_editor_project_add_widget (GladeProject *project,
GladeWidget *widget,
GladeBaseEditor *e)
{
- if (e->priv->updating_treeview)
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (e);
+ if (priv->updating_treeview)
return;
if (glade_base_editor_is_child (e, widget, TRUE))
{
- e->priv->updating_treeview = TRUE;
+ priv->updating_treeview = TRUE;
g_idle_add (glade_base_editor_update_treeview_idle, e);
}
@@ -1171,6 +1203,7 @@ glade_base_editor_update_display_name (GtkTreeModel *model,
gpointer data)
{
GladeBaseEditor *editor = data;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeWidget *gchild;
gchar *name;
@@ -1178,7 +1211,7 @@ glade_base_editor_update_display_name (GtkTreeModel *model,
name = glade_base_editor_get_display_name (editor, gchild);
- gtk_tree_store_set (GTK_TREE_STORE (editor->priv->model), iter,
+ gtk_tree_store_set (GTK_TREE_STORE (priv->model), iter,
GLADE_BASE_EDITOR_NAME, name, -1);
g_free (name);
g_object_unref (G_OBJECT (gchild));
@@ -1192,7 +1225,8 @@ glade_base_editor_project_changed (GladeProject *project,
gboolean forward,
GladeBaseEditor *editor)
{
- gtk_tree_model_foreach (editor->priv->model,
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+ gtk_tree_model_foreach (priv->model,
glade_base_editor_update_display_name, editor);
}
@@ -1201,41 +1235,41 @@ glade_base_editor_project_changed (GladeProject *project,
static void
glade_base_editor_project_disconnect (GladeBaseEditor *editor)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
- if (e->project == NULL)
+ if (priv->project == NULL)
return;
- g_signal_handlers_disconnect_by_func (e->project,
+ g_signal_handlers_disconnect_by_func (priv->project,
glade_base_editor_project_closed,
editor);
- g_signal_handlers_disconnect_by_func (e->project,
+ g_signal_handlers_disconnect_by_func (priv->project,
glade_base_editor_project_remove_widget,
editor);
- g_signal_handlers_disconnect_by_func (e->project,
+ g_signal_handlers_disconnect_by_func (priv->project,
glade_base_editor_project_add_widget,
editor);
- g_signal_handlers_disconnect_by_func (e->project,
+ g_signal_handlers_disconnect_by_func (priv->project,
glade_base_editor_project_widget_name_changed,
editor);
- g_signal_handlers_disconnect_by_func (e->project,
+ g_signal_handlers_disconnect_by_func (priv->project,
glade_base_editor_project_changed,
editor);
- if (e->properties_idle)
- g_source_remove (e->properties_idle);
- e->properties_idle = 0;
+ if (priv->properties_idle)
+ g_source_remove (priv->properties_idle);
+ priv->properties_idle = 0;
}
static void
glade_base_editor_set_container (GladeBaseEditor *editor, GObject *container)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
glade_base_editor_project_disconnect (editor);
@@ -1243,46 +1277,46 @@ glade_base_editor_set_container (GladeBaseEditor *editor, GObject *container)
{
reset_child_types (editor);
- e->gcontainer = NULL;
- e->project = NULL;
+ priv->gcontainer = NULL;
+ priv->project = NULL;
glade_base_editor_block_callbacks (editor, TRUE);
glade_base_editor_clear (editor);
- gtk_tree_view_set_model (GTK_TREE_VIEW (editor->priv->treeview), NULL);
- gtk_tree_store_clear (GTK_TREE_STORE (editor->priv->model));
- gtk_tree_view_set_model (GTK_TREE_VIEW (editor->priv->treeview),
- editor->priv->model);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->treeview), NULL);
+ gtk_tree_store_clear (GTK_TREE_STORE (priv->model));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->treeview),
+ priv->model);
- gtk_widget_set_sensitive (e->paned, FALSE);
+ gtk_widget_set_sensitive (priv->paned, FALSE);
glade_base_editor_block_callbacks (editor, FALSE);
- glade_signal_editor_load_widget (e->signal_editor, NULL);
+ glade_signal_editor_load_widget (priv->signal_editor, NULL);
g_object_notify_by_pspec (G_OBJECT (editor), properties[PROP_CONTAINER]);
return;
}
- gtk_widget_set_sensitive (e->paned, TRUE);
+ gtk_widget_set_sensitive (priv->paned, TRUE);
- e->gcontainer = glade_widget_get_from_gobject (container);
+ priv->gcontainer = glade_widget_get_from_gobject (container);
- e->project = glade_widget_get_project (e->gcontainer);
+ priv->project = glade_widget_get_project (priv->gcontainer);
- g_signal_connect (e->project, "close",
+ g_signal_connect (priv->project, "close",
G_CALLBACK (glade_base_editor_project_closed), editor);
- g_signal_connect (e->project, "remove-widget",
+ g_signal_connect (priv->project, "remove-widget",
G_CALLBACK (glade_base_editor_project_remove_widget),
editor);
- g_signal_connect (e->project, "add-widget",
+ g_signal_connect (priv->project, "add-widget",
G_CALLBACK (glade_base_editor_project_add_widget), editor);
- g_signal_connect (e->project, "widget-name-changed",
+ g_signal_connect (priv->project, "widget-name-changed",
G_CALLBACK (glade_base_editor_project_widget_name_changed),
editor);
- g_signal_connect (e->project, "changed",
+ g_signal_connect (priv->project, "changed",
G_CALLBACK (glade_base_editor_project_changed), editor);
g_object_notify_by_pspec (G_OBJECT (editor), properties[PROP_CONTAINER]);
@@ -1292,12 +1326,13 @@ glade_base_editor_set_container (GladeBaseEditor *editor, GObject *container)
static void
glade_base_editor_dispose (GObject *object)
{
- GladeBaseEditor *cobj = GLADE_BASE_EDITOR (object);
+ GladeBaseEditor *editor = GLADE_BASE_EDITOR (object);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
- reset_child_types (cobj);
+ reset_child_types (editor);
- glade_base_editor_project_disconnect (cobj);
- cobj->priv->project = NULL;
+ glade_base_editor_project_disconnect (editor);
+ priv->project = NULL;
G_OBJECT_CLASS (glade_base_editor_parent_class)->dispose (object);
}
@@ -1328,11 +1363,12 @@ glade_base_editor_get_property (GObject *object,
GParamSpec *pspec)
{
GladeBaseEditor *editor = GLADE_BASE_EDITOR (object);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
switch (prop_id)
{
case PROP_CONTAINER:
- g_value_set_object (value, glade_widget_get_object (editor->priv->gcontainer));
+ g_value_set_object (value, glade_widget_get_object (priv->gcontainer));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1347,6 +1383,7 @@ glade_base_editor_change_type (GladeBaseEditor *editor,
GladeWidget *gchild,
GType type)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeWidget *parent, *gchild_new;
GList *children, *l;
GObject *child_new;
@@ -1422,7 +1459,7 @@ glade_base_editor_change_type (GladeBaseEditor *editor,
gtk_widget_show_all (GTK_WIDGET (child_new));
/* XXX We should update the widget name in the visible tree here too */
- gtk_tree_store_set (GTK_TREE_STORE (editor->priv->model), &iter,
+ gtk_tree_store_set (GTK_TREE_STORE (priv->model), &iter,
GLADE_BASE_EDITOR_GWIDGET, gchild_new,
GLADE_BASE_EDITOR_OBJECT, child_new,
GLADE_BASE_EDITOR_TYPE_NAME, class_name, -1);
@@ -1481,38 +1518,38 @@ glade_base_editor_delete_child_impl (GladeBaseEditor *editor,
static void
glade_base_editor_block_callbacks (GladeBaseEditor *editor, gboolean block)
{
- GladeBaseEditorPrivate *e = editor->priv;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
if (block)
{
- g_signal_handlers_block_by_func (e->model, glade_base_editor_row_inserted,
+ g_signal_handlers_block_by_func (priv->model, glade_base_editor_row_inserted,
editor);
- if (e->project)
+ if (priv->project)
{
- g_signal_handlers_block_by_func (e->project,
+ g_signal_handlers_block_by_func (priv->project,
glade_base_editor_project_remove_widget,
editor);
- g_signal_handlers_block_by_func (e->project,
+ g_signal_handlers_block_by_func (priv->project,
glade_base_editor_project_add_widget,
editor);
- g_signal_handlers_block_by_func (e->project,
+ g_signal_handlers_block_by_func (priv->project,
glade_base_editor_project_changed,
editor);
}
}
else
{
- g_signal_handlers_unblock_by_func (e->model,
+ g_signal_handlers_unblock_by_func (priv->model,
glade_base_editor_row_inserted,
editor);
- if (e->project)
+ if (priv->project)
{
- g_signal_handlers_unblock_by_func (e->project,
+ g_signal_handlers_unblock_by_func (priv->project,
glade_base_editor_project_remove_widget,
editor);
- g_signal_handlers_unblock_by_func (e->project,
+ g_signal_handlers_unblock_by_func (priv->project,
glade_base_editor_project_add_widget,
editor);
- g_signal_handlers_unblock_by_func (e->project,
+ g_signal_handlers_unblock_by_func (priv->project,
glade_base_editor_project_changed,
editor);
}
@@ -1523,11 +1560,12 @@ static void
glade_base_editor_realize_callback (GtkWidget *widget, gpointer user_data)
{
GladeBaseEditor *editor = GLADE_BASE_EDITOR (widget);
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
glade_base_editor_block_callbacks (editor, TRUE);
glade_base_editor_fill_store (editor);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (editor->priv->treeview));
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
glade_base_editor_block_callbacks (editor, FALSE);
}
@@ -1535,20 +1573,18 @@ glade_base_editor_realize_callback (GtkWidget *widget, gpointer user_data)
static void
glade_base_editor_init (GladeBaseEditor *editor)
{
- GladeBaseEditorPrivate *e;
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
gtk_widget_init_template (GTK_WIDGET (editor));
- e = editor->priv = glade_base_editor_get_instance_private (editor);
-
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes (_("Label"), renderer,
"text",
GLADE_BASE_EDITOR_NAME,
NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (e->treeview), column);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (priv->treeview), column);
renderer = gtk_cell_renderer_combo_new ();
g_object_set (renderer,
@@ -1566,7 +1602,7 @@ glade_base_editor_init (GladeBaseEditor *editor)
GLADE_BASE_EDITOR_CHILD_TYPES,
NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (e->treeview), column);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (priv->treeview), column);
}
static void
@@ -1575,8 +1611,6 @@ glade_base_editor_class_init (GladeBaseEditorClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- glade_base_editor_parent_class = g_type_class_peek_parent (klass);
-
object_class->dispose = glade_base_editor_dispose;
object_class->set_property = glade_base_editor_set_property;
object_class->get_property = glade_base_editor_get_property;
@@ -1741,7 +1775,7 @@ glade_base_editor_new (GObject *container, GladeEditable *main_editable, ...)
ChildTypeTab *child_type;
GladeWidget *gcontainer;
GladeBaseEditor *editor;
- GladeBaseEditorPrivate *e;
+ GladeBaseEditorPrivate *priv;
GtkTreeIter iter;
GType iter_type;
gchar *name;
@@ -1751,20 +1785,20 @@ glade_base_editor_new (GObject *container, GladeEditable *main_editable, ...)
g_return_val_if_fail (GLADE_IS_WIDGET (gcontainer), NULL);
editor = GLADE_BASE_EDITOR (g_object_new (GLADE_TYPE_BASE_EDITOR, NULL));
- e = editor->priv;
+ priv = glade_base_editor_get_instance_private (editor);
/* Store */
- e->model = (GtkTreeModel *) gtk_tree_store_new (GLADE_BASE_EDITOR_N_COLUMNS,
- G_TYPE_OBJECT,
- G_TYPE_OBJECT,
- G_TYPE_STRING,
- G_TYPE_STRING,
- GTK_TYPE_TREE_MODEL);
+ priv->model = (GtkTreeModel *) gtk_tree_store_new (GLADE_BASE_EDITOR_N_COLUMNS,
+ G_TYPE_OBJECT,
+ G_TYPE_OBJECT,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ GTK_TYPE_TREE_MODEL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (e->treeview), e->model);
- gtk_tree_view_expand_all (GTK_TREE_VIEW (e->treeview));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->treeview), priv->model);
+ gtk_tree_view_expand_all (GTK_TREE_VIEW (priv->treeview));
- g_signal_connect (e->model, "row-inserted",
+ g_signal_connect (priv->model, "row-inserted",
G_CALLBACK (glade_base_editor_row_inserted), editor);
if (main_editable)
@@ -1786,16 +1820,16 @@ glade_base_editor_new (GObject *container, GladeEditable *main_editable, ...)
GLADE_BASE_EDITOR_GTYPE, iter_type,
GLADE_BASE_EDITOR_CLASS_NAME, name, -1);
- if (editor->priv->add_type == 0)
- editor->priv->add_type = iter_type;
+ if (priv->add_type == 0)
+ priv->add_type = iter_type;
}
va_end (args);
- e->child_types = g_list_prepend (e->child_types, child_type);
+ priv->child_types = g_list_prepend (priv->child_types, child_type);
glade_base_editor_set_container (editor, container);
- glade_signal_editor_load_widget (e->signal_editor, e->gcontainer);
+ glade_signal_editor_load_widget (priv->signal_editor, priv->gcontainer);
return editor;
}
@@ -1817,6 +1851,7 @@ glade_base_editor_new (GObject *container, GladeEditable *main_editable, ...)
void
glade_base_editor_append_types (GladeBaseEditor *editor, GType parent_type, ...)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
ChildTypeTab *child_type;
GtkTreeIter iter;
gchar *name;
@@ -1842,8 +1877,8 @@ glade_base_editor_append_types (GladeBaseEditor *editor, GType parent_type, ...)
}
va_end (args);
- editor->priv->child_types =
- g_list_insert_sorted (editor->priv->child_types, child_type,
+ priv->child_types =
+ g_list_insert_sorted (priv->child_types, child_type,
(GCompareFunc) sort_type_by_hierarchy);
}
@@ -1974,6 +2009,7 @@ glade_base_editor_add_editable (GladeBaseEditor *editor,
GladeWidget *gchild,
GladeEditorPageType page)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GladeEditable *editable;
gint row;
@@ -1985,15 +2021,15 @@ glade_base_editor_add_editable (GladeBaseEditor *editor,
glade_editable_load (editable, gchild);
gtk_widget_show (GTK_WIDGET (editable));
- row = editor->priv->row;
+ row = priv->row;
- gtk_grid_attach (GTK_GRID (editor->priv->table), GTK_WIDGET (editable), 0,
+ gtk_grid_attach (GTK_GRID (priv->table), GTK_WIDGET (editable), 0,
row, 2, 1);
gtk_widget_set_hexpand (GTK_WIDGET (editable), TRUE);
- editor->priv->row++;
+ priv->row++;
- gtk_widget_hide (editor->priv->tip_label);
+ gtk_widget_hide (priv->tip_label);
}
@@ -2010,6 +2046,7 @@ glade_base_editor_add_editable (GladeBaseEditor *editor,
void
glade_base_editor_add_label (GladeBaseEditor *editor, gchar *str)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkWidget *label;
gchar *markup;
gint row;
@@ -2019,7 +2056,7 @@ glade_base_editor_add_label (GladeBaseEditor *editor, gchar *str)
label = gtk_label_new (NULL);
markup = g_strdup_printf ("<span rise=\"-20000\"><b>%s</b></span>", str);
- row = editor->priv->row;
+ row = priv->row;
gtk_label_set_markup (GTK_LABEL (label), markup);
gtk_widget_set_halign (label, GTK_ALIGN_START);
@@ -2027,11 +2064,11 @@ glade_base_editor_add_label (GladeBaseEditor *editor, gchar *str)
gtk_widget_set_margin_top (label, 6);
gtk_widget_set_margin_bottom (label, 6);
- gtk_grid_attach (GTK_GRID (editor->priv->table), label, 0, row, 2, 1);
+ gtk_grid_attach (GTK_GRID (priv->table), label, 0, row, 2, 1);
gtk_widget_show (label);
- editor->priv->row++;
+ priv->row++;
- gtk_widget_hide (editor->priv->tip_label);
+ gtk_widget_hide (priv->tip_label);
g_free (markup);
}
@@ -2045,12 +2082,14 @@ glade_base_editor_add_label (GladeBaseEditor *editor, gchar *str)
void
glade_base_editor_set_show_signal_editor (GladeBaseEditor *editor, gboolean val)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
+
g_return_if_fail (GLADE_IS_BASE_EDITOR (editor));
if (val)
- gtk_widget_show (GTK_WIDGET (editor->priv->signal_editor));
+ gtk_widget_show (GTK_WIDGET (priv->signal_editor));
else
- gtk_widget_hide (GTK_WIDGET (editor->priv->signal_editor));
+ gtk_widget_hide (GTK_WIDGET (priv->signal_editor));
}
/* Convenience functions */
@@ -2085,6 +2124,7 @@ glade_base_editor_pack_new_window (GladeBaseEditor *editor,
gchar *title,
gchar *help_markup)
{
+ GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
GtkWidget *window, *headerbar;
gchar *msg;
@@ -2099,7 +2139,7 @@ glade_base_editor_pack_new_window (GladeBaseEditor *editor,
if (title)
{
- const gchar *name = glade_widget_get_display_name (editor->priv->gcontainer);
+ const gchar *name = glade_widget_get_display_name (priv->gcontainer);
gtk_header_bar_set_title (GTK_HEADER_BAR (headerbar), title);
gtk_header_bar_set_subtitle (GTK_HEADER_BAR (headerbar), name);
@@ -2115,8 +2155,8 @@ glade_base_editor_pack_new_window (GladeBaseEditor *editor,
" * Drag &amp; Drop to reorder.\n"
" * Type column is editable.");
- gtk_label_set_markup (GTK_LABEL (editor->priv->tip_label), msg);
- g_signal_connect (editor->priv->help_button, "clicked",
+ gtk_label_set_markup (GTK_LABEL (priv->tip_label), msg);
+ g_signal_connect (priv->help_button, "clicked",
G_CALLBACK (glade_base_editor_help),
msg);
diff --git a/gladeui/glade-base-editor.h b/gladeui/glade-base-editor.h
index 48f0d60e..5d53aae8 100644
--- a/gladeui/glade-base-editor.h
+++ b/gladeui/glade-base-editor.h
@@ -27,23 +27,8 @@
G_BEGIN_DECLS
-#define GLADE_TYPE_BASE_EDITOR (glade_base_editor_get_type ())
-#define GLADE_BASE_EDITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GLADE_TYPE_BASE_EDITOR, GladeBaseEditor))
-#define GLADE_BASE_EDITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GLADE_TYPE_BASE_EDITOR, GladeBaseEditorClass))
-#define GLADE_IS_BASE_EDITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GLADE_TYPE_BASE_EDITOR))
-#define GLADE_IS_BASE_EDITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GLADE_TYPE_BASE_EDITOR))
-#define GLADE_BASE_EDITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_TYPE_BASE_EDITOR, GladeBaseEditorClass))
-
-typedef struct _GladeBaseEditor GladeBaseEditor;
-typedef struct _GladeBaseEditorPrivate GladeBaseEditorPrivate;
-typedef struct _GladeBaseEditorClass GladeBaseEditorClass;
-
-struct _GladeBaseEditor
-{
- GtkBox parent;
-
- GladeBaseEditorPrivate *priv;
-};
+#define GLADE_TYPE_BASE_EDITOR glade_base_editor_get_type ()
+G_DECLARE_DERIVABLE_TYPE (GladeBaseEditor, glade_base_editor, GLADE, BASE_EDITOR, GtkBox)
struct _GladeBaseEditorClass
{
@@ -56,17 +41,9 @@ struct _GladeBaseEditorClass
gboolean (*delete_child) (GladeBaseEditor *editor, GladeWidget *parent, GladeWidget *gchild);
gboolean (*move_child) (GladeBaseEditor *editor, GladeWidget *gparent, GladeWidget *gchild);
- void (* glade_reserved1) (void);
- void (* glade_reserved2) (void);
- void (* glade_reserved3) (void);
- void (* glade_reserved4) (void);
- void (* glade_reserved5) (void);
- void (* glade_reserved6) (void);
+ gpointer padding[6];
};
-
-GType glade_base_editor_get_type (void);
-
GladeBaseEditor *glade_base_editor_new (GObject *container,
GladeEditable *main_editable,
...);