diff options
author | Corentin Noël <corentin.noel@collabora.com> | 2019-08-16 21:35:56 +0200 |
---|---|---|
committer | Alberto Fanjul <albertofanjul@gmail.com> | 2019-08-20 18:58:15 +0000 |
commit | b3af28717629e8b061709d696bc11af3d5f95c94 (patch) | |
tree | ac998c1ca7dee03fbd5595a2323b4d1d8d750be3 | |
parent | d7a2af140cd7ea3602f7dca545bbd61acb75c931 (diff) | |
download | glade-b3af28717629e8b061709d696bc11af3d5f95c94.tar.gz |
gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeInspector
-rw-r--r-- | gladeui/glade-inspector.c | 85 | ||||
-rw-r--r-- | gladeui/glade-inspector.h | 26 |
2 files changed, 45 insertions, 66 deletions
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c index af906211..a967da60 100644 --- a/gladeui/glade-inspector.c +++ b/gladeui/glade-inspector.c @@ -53,11 +53,6 @@ #include <gdk/gdkkeysyms.h> #endif -#define GLADE_INSPECTOR_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object),\ - GLADE_TYPE_INSPECTOR, \ - GladeInspectorPrivate)) - - static void search_entry_text_inserted_cb (GtkEntry *entry, const gchar *text, gint length, @@ -82,7 +77,7 @@ enum LAST_SIGNAL }; -struct _GladeInspectorPrivate +typedef struct _GladeInspectorPrivate { GtkWidget *view; GtkTreeModel *filter; @@ -94,7 +89,7 @@ struct _GladeInspectorPrivate gboolean search_disabled; gchar *completion_text; gchar *completion_text_fold; -}; +} GladeInspectorPrivate; static GParamSpec *properties[N_PROPERTIES]; static guint glade_inspector_signals[LAST_SIGNAL] = { 0 }; @@ -208,7 +203,7 @@ glade_inspector_visible_func (GtkTreeModel *model, gpointer data) { GladeInspector *inspector = data; - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); GtkTreeIter iter; @@ -247,7 +242,7 @@ glade_inspector_visible_func (GtkTreeModel *model, static void glade_inspector_refilter (GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); if (!priv->search_disabled) { @@ -338,7 +333,8 @@ get_partial_match (GladeInspector *inspector, const gchar *search, gchar **first_match) { - GtkTreeModel *model = GTK_TREE_MODEL (inspector->priv->project); + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); + GtkTreeModel *model = GTK_TREE_MODEL (priv->project); CommonMatchData data; data.text = search; @@ -358,7 +354,7 @@ get_partial_match (GladeInspector *inspector, static void inspector_set_completion_text (GladeInspector *inspector, const gchar *text) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); g_free (priv->completion_text); priv->completion_text = g_strdup (text); @@ -369,7 +365,7 @@ inspector_set_completion_text (GladeInspector *inspector, const gchar *text) static gboolean search_complete_idle (GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); gchar *completed; const gchar *str; gsize length; @@ -409,7 +405,7 @@ search_entry_text_inserted_cb (GtkEntry *entry, gint *position, GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); if (!priv->search_disabled && !priv->idle_complete) { @@ -424,7 +420,7 @@ search_entry_text_deleted_cb (GtkEditable *editable, gint end_pos, GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); if (!priv->search_disabled) { @@ -438,7 +434,7 @@ search_entry_key_press_event_cb (GtkEntry *entry, GdkEventKey *event, GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); const gchar *str; str = gtk_entry_get_text (GTK_ENTRY (priv->entry)); @@ -533,7 +529,7 @@ search_entry_focus_in_cb (GtkWidget *entry, GdkEventFocus *event, GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); if (priv->search_disabled) priv->search_disabled = FALSE; @@ -546,7 +542,7 @@ search_entry_focus_out_cb (GtkWidget *entry, GdkEventFocus *event, GladeInspector *inspector) { - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); priv->search_disabled = TRUE; @@ -562,12 +558,10 @@ search_entry_focus_out_cb (GtkWidget *entry, static void glade_inspector_init (GladeInspector *inspector) { - GladeInspectorPrivate *priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); GtkWidget *sw; GtkTreeSelection *selection; - inspector->priv = priv = glade_inspector_get_instance_private (inspector); - gtk_orientable_set_orientation (GTK_ORIENTABLE (inspector), GTK_ORIENTATION_VERTICAL); @@ -636,13 +630,14 @@ static void glade_inspector_dispose (GObject *object) { GladeInspector *inspector = GLADE_INSPECTOR (object); + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); glade_inspector_set_project (inspector, NULL); - if (inspector->priv->idle_complete) + if (priv->idle_complete) { - g_source_remove (inspector->priv->idle_complete); - inspector->priv->idle_complete = 0; + g_source_remove (priv->idle_complete); + priv->idle_complete = 0; } G_OBJECT_CLASS (glade_inspector_parent_class)->dispose (object); @@ -652,7 +647,7 @@ static void glade_inspector_finalize (GObject *object) { GladeInspector *inspector = GLADE_INSPECTOR (object); - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); g_free (priv->completion_text); g_free (priv->completion_text_fold); @@ -664,6 +659,7 @@ static void project_selection_changed_cb (GladeProject *project, GladeInspector *inspector) { + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); GladeWidget *widget; GtkTreeSelection *selection; GtkTreeModel *model; @@ -673,18 +669,18 @@ project_selection_changed_cb (GladeProject *project, g_return_if_fail (GLADE_IS_INSPECTOR (inspector)); g_return_if_fail (GLADE_IS_PROJECT (project)); - g_return_if_fail (inspector->priv->project == project); + g_return_if_fail (priv->project == project); g_signal_handlers_block_by_func (gtk_tree_view_get_selection - (GTK_TREE_VIEW (inspector->priv->view)), + (GTK_TREE_VIEW (priv->view)), G_CALLBACK (selection_changed_cb), inspector); selection = - gtk_tree_view_get_selection (GTK_TREE_VIEW (inspector->priv->view)); + gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->view)); g_return_if_fail (selection != NULL); - model = inspector->priv->filter; + model = priv->filter; gtk_tree_selection_unselect_all (selection); @@ -705,10 +701,10 @@ project_selection_changed_cb (GladeProject *project, /* expand parent node */ if (gtk_tree_path_up (ancestor_path)) gtk_tree_view_expand_to_path - (GTK_TREE_VIEW (inspector->priv->view), ancestor_path); + (GTK_TREE_VIEW (priv->view), ancestor_path); gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW - (inspector->priv->view), path, NULL, + (priv->view), path, NULL, TRUE, 0.5, 0); gtk_tree_selection_select_iter (selection, iter); @@ -721,7 +717,7 @@ project_selection_changed_cb (GladeProject *project, } g_signal_handlers_unblock_by_func (gtk_tree_view_get_selection - (GTK_TREE_VIEW (inspector->priv->view)), + (GTK_TREE_VIEW (priv->view)), G_CALLBACK (selection_changed_cb), inspector); } @@ -747,6 +743,7 @@ selection_foreach_func (GtkTreeModel *model, static void selection_changed_cb (GtkTreeSelection *selection, GladeInspector *inspector) { + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); GList *sel = NULL, *l; gtk_tree_selection_selected_foreach (selection, @@ -765,17 +762,17 @@ selection_changed_cb (GtkTreeSelection *selection, GladeInspector *inspector) if (!sel) return; - g_signal_handlers_block_by_func (inspector->priv->project, + g_signal_handlers_block_by_func (priv->project, G_CALLBACK (project_selection_changed_cb), inspector); - glade_project_selection_clear (inspector->priv->project, FALSE); + glade_project_selection_clear (priv->project, FALSE); for (l = sel; l; l = l->next) - glade_project_selection_add (inspector->priv->project, G_OBJECT (l->data), FALSE); - glade_project_selection_changed (inspector->priv->project); + glade_project_selection_add (priv->project, G_OBJECT (l->data), FALSE); + glade_project_selection_changed (priv->project); g_list_free (sel); - g_signal_handlers_unblock_by_func (inspector->priv->project, + g_signal_handlers_unblock_by_func (priv->project, G_CALLBACK (project_selection_changed_cb), inspector); @@ -797,7 +794,7 @@ button_press_cb (GtkWidget *widget, GladeInspector *inspector) { GtkTreeView *view = GTK_TREE_VIEW (widget); - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); GtkTreePath *path = NULL; gboolean handled = FALSE; @@ -1022,14 +1019,14 @@ glade_inspector_set_project (GladeInspector *inspector, GladeProject *project) g_return_if_fail (GLADE_IS_INSPECTOR (inspector)); g_return_if_fail (GLADE_IS_PROJECT (project) || project == NULL); - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); - if(priv->project == project) + if (priv->project == project) return; - if (inspector->priv->project) + if (priv->project) { - disconnect_project_signals (inspector, inspector->priv->project); + disconnect_project_signals (inspector, priv->project); /* Release our filter which releases the project */ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->view), NULL); @@ -1071,9 +1068,11 @@ glade_inspector_set_project (GladeInspector *inspector, GladeProject *project) GladeProject * glade_inspector_get_project (GladeInspector *inspector) { + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); + g_return_val_if_fail (GLADE_IS_INSPECTOR (inspector), NULL); - return inspector->priv->project; + return priv->project; } /** @@ -1089,7 +1088,7 @@ glade_inspector_get_selected_items (GladeInspector *inspector) { GtkTreeSelection *selection; GList *items = NULL, *paths; - GladeInspectorPrivate *priv = inspector->priv; + GladeInspectorPrivate *priv = glade_inspector_get_instance_private (inspector); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->view)); diff --git a/gladeui/glade-inspector.h b/gladeui/glade-inspector.h index b665aa1a..d2aa5e56 100644 --- a/gladeui/glade-inspector.h +++ b/gladeui/glade-inspector.h @@ -33,16 +33,8 @@ G_BEGIN_DECLS -#define GLADE_TYPE_INSPECTOR (glade_inspector_get_type ()) -#define GLADE_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_INSPECTOR, GladeInspector)) -#define GLADE_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_INSPECTOR, GladeInspectorClass)) -#define GLADE_IS_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_INSPECTOR)) -#define GLADE_IS_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_INSPECTOR)) -#define GLADE_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_TYPE_INSPECTOR, GladeInspectorClass)) - -typedef struct _GladeInspector GladeInspector; -typedef struct _GladeInspectorClass GladeInspectorClass; -typedef struct _GladeInspectorPrivate GladeInspectorPrivate; +#define GLADE_TYPE_INSPECTOR glade_inspector_get_type () +G_DECLARE_DERIVABLE_TYPE (GladeInspector, glade_inspector, GLADE, INSPECTOR, GtkBox) /** * GladeInspector: @@ -50,12 +42,6 @@ typedef struct _GladeInspectorPrivate GladeInspectorPrivate; * The #GladeInspector struct contains private data only, and should be manipulated using the functions below. * */ -struct _GladeInspector -{ - GtkBox parent_instance; - - GladeInspectorPrivate *priv; -}; struct _GladeInspectorClass { @@ -64,15 +50,9 @@ struct _GladeInspectorClass void (* selection_changed) (GladeInspector *inspector); void (* item_activated) (GladeInspector *inspector); - void (* glade_reserved1) (void); - void (* glade_reserved2) (void); - void (* glade_reserved3) (void); - void (* glade_reserved4) (void); + gpointer padding[4]; }; - -GType glade_inspector_get_type (void) G_GNUC_CONST; - GtkWidget *glade_inspector_new (void); GtkWidget *glade_inspector_new_with_project (GladeProject *project); void glade_inspector_set_project (GladeInspector *inspector, |