[gtk+] inspector: More refactoring
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] inspector: More refactoring
- Date: Sat, 11 Oct 2014 05:00:21 +0000 (UTC)
commit 6194c90f74764dd03886a13ff6f95614c9bca5d9
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Oct 10 21:13:34 2014 -0400
inspector: More refactoring
Get rid of gtk_inspector_widget_tree_get_selected_object,
we can just pass the selected object along with the changed
signal.
gtk/inspector/widget-tree.c | 44 ++++++++++++++++--------------------------
gtk/inspector/widget-tree.h | 5 +--
gtk/inspector/window.c | 2 +-
3 files changed, 20 insertions(+), 31 deletions(-)
---
diff --git a/gtk/inspector/widget-tree.c b/gtk/inspector/widget-tree.c
index 67f6bd2..a819b78 100644
--- a/gtk/inspector/widget-tree.c
+++ b/gtk/inspector/widget-tree.c
@@ -81,7 +81,20 @@ static void
on_widget_selected (GtkTreeSelection *selection,
GtkInspectorWidgetTree *wt)
{
- g_signal_emit (wt, widget_tree_signals[WIDGET_CHANGED], 0);
+ GObject *object;
+ GtkTreeIter iter;
+ GtkTreeSelection *sel;
+ GtkTreeModel *model;
+
+ sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (wt->priv->tree));
+ if (gtk_tree_selection_get_selected (sel, &model, &iter))
+ gtk_tree_model_get (model, &iter,
+ OBJECT, &object,
+ -1);
+ else
+ object = NULL;
+
+ g_signal_emit (wt, widget_tree_signals[WIDGET_CHANGED], 0, object);
}
typedef struct
@@ -187,16 +200,14 @@ gtk_inspector_widget_tree_class_init (GtkInspectorWidgetTreeClass *klass)
object_class->finalize = gtk_inspector_widget_tree_finalize;
- klass->widget_changed = NULL;
-
widget_tree_signals[WIDGET_CHANGED] =
g_signal_new ("widget-changed",
- G_OBJECT_CLASS_TYPE(klass),
+ G_OBJECT_CLASS_TYPE (klass),
G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
G_STRUCT_OFFSET(GtkInspectorWidgetTreeClass, widget_changed),
NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, G_TYPE_OBJECT);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/inspector/widget-tree.ui");
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorWidgetTree, model);
@@ -204,27 +215,6 @@ gtk_inspector_widget_tree_class_init (GtkInspectorWidgetTreeClass *klass)
gtk_widget_class_bind_template_callback (widget_class, on_widget_selected);
}
-GObject *
-gtk_inspector_widget_tree_get_selected_object (GtkInspectorWidgetTree *wt)
-{
- GtkTreeIter iter;
- GtkTreeSelection *sel;
- GtkTreeModel *model;
-
- sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (wt->priv->tree));
-
- if (gtk_tree_selection_get_selected (sel, &model, &iter))
- {
- GObject *object;
- gtk_tree_model_get (model, &iter,
- OBJECT, &object,
- -1);
- return object;
- }
-
- return NULL;
-}
-
typedef struct
{
GtkInspectorWidgetTree *wt;
diff --git a/gtk/inspector/widget-tree.h b/gtk/inspector/widget-tree.h
index 2900584..3ccd181 100644
--- a/gtk/inspector/widget-tree.h
+++ b/gtk/inspector/widget-tree.h
@@ -46,7 +46,8 @@ typedef struct _GtkInspectorWidgetTreeClass
{
GtkBoxClass parent;
- void (*widget_changed) (GtkInspectorWidgetTree *tree);
+ void (*widget_changed) (GtkInspectorWidgetTree *wt,
+ GObject *object);
} GtkInspectorWidgetTreeClass;
@@ -55,8 +56,6 @@ G_BEGIN_DECLS
GType gtk_inspector_widget_tree_get_type (void);
-GObject *gtk_inspector_widget_tree_get_selected_object (GtkInspectorWidgetTree *wt);
-
void gtk_inspector_widget_tree_scan (GtkInspectorWidgetTree *wt,
GtkWidget *window);
void gtk_inspector_widget_tree_select_object (GtkInspectorWidgetTree *wt,
diff --git a/gtk/inspector/window.c b/gtk/inspector/window.c
index 4d7a05b..48a5d82 100644
--- a/gtk/inspector/window.c
+++ b/gtk/inspector/window.c
@@ -49,9 +49,9 @@ G_DEFINE_TYPE (GtkInspectorWindow, gtk_inspector_window, GTK_TYPE_WINDOW)
static void
on_widget_tree_selection_changed (GtkInspectorWidgetTree *wt,
+ GObject *selected,
GtkInspectorWindow *iw)
{
- GObject *selected = gtk_inspector_widget_tree_get_selected_object (wt);
GtkWidget *notebook;
const gchar *tab;
gint page_num;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]