summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin.noel@collabora.com>2019-08-16 21:35:56 +0200
committerAlberto Fanjul <albertofanjul@gmail.com>2019-08-20 18:58:15 +0000
commitb3af28717629e8b061709d696bc11af3d5f95c94 (patch)
treeac998c1ca7dee03fbd5595a2323b4d1d8d750be3
parentd7a2af140cd7ea3602f7dca545bbd61acb75c931 (diff)
downloadglade-b3af28717629e8b061709d696bc11af3d5f95c94.tar.gz
gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeInspector
-rw-r--r--gladeui/glade-inspector.c85
-rw-r--r--gladeui/glade-inspector.h26
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,