[egg-list-box/row-widget: 3/7] listbox: Move row_changed to EggListBoxRow



commit d1bcb830dd60e26ee18451bdbdd40bf4597e30e5
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Jun 7 12:13:20 2013 +0200

    listbox: Move row_changed to EggListBoxRow

 egg-list-box.c  |   14 ++++++++++++--
 egg-list-box.h  |   12 ++++++------
 egglistbox.vapi |    2 +-
 test-list.vala  |    2 +-
 4 files changed, 20 insertions(+), 10 deletions(-)
---
diff --git a/egg-list-box.c b/egg-list-box.c
index 09c12b3..de0dfae 100644
--- a/egg-list-box.c
+++ b/egg-list-box.c
@@ -729,8 +729,8 @@ egg_list_box_set_sort_func (EggListBox *list_box,
   egg_list_box_resort (list_box);
 }
 
-void
-egg_list_box_row_changed (EggListBox *list_box, EggListBoxRow *row)
+static void
+egg_list_box_got_row_changed (EggListBox *list_box, EggListBoxRow *row)
 {
   EggListBoxPrivate *priv = list_box->priv;
   GSequenceIter *prev_next, *next;
@@ -2133,6 +2133,16 @@ egg_list_box_row_set_property (GObject      *obj,
     }
 }
 
+void
+egg_list_box_row_changed (EggListBoxRow *row)
+{
+  GtkWidget *parent;
+
+  parent = gtk_widget_get_parent (GTK_WIDGET (row));
+  if (parent && EGG_IS_LIST_BOX (parent))
+    egg_list_box_got_row_changed (EGG_LIST_BOX (parent), row);
+}
+
 /**
  * egg_list_box_row_get_separator:
  *
diff --git a/egg-list-box.h b/egg-list-box.h
index 84e2261..1edfd1b 100644
--- a/egg-list-box.h
+++ b/egg-list-box.h
@@ -81,10 +81,12 @@ typedef gint (*EggListBoxSortFunc) (EggListBoxRow* row1, EggListBoxRow* row2, vo
 typedef void (*EggListBoxUpdateSeparatorFunc) (EggListBoxRow* row, EggListBoxRow* before, void* user_data);
 
 GType egg_list_box_row_get_type (void) G_GNUC_CONST;
-GtkWidget* egg_list_box_row_new  (void);
-GtkWidget* egg_list_box_row_get_separator  (EggListBoxRow *row);
-void egg_list_box_row_set_separator  (EggListBoxRow *row,
-                                      GtkWidget *separator);
+GtkWidget* egg_list_box_row_new           (void);
+GtkWidget* egg_list_box_row_get_separator (EggListBoxRow *row);
+void       egg_list_box_row_set_separator (EggListBoxRow *row,
+                                           GtkWidget     *separator);
+void       egg_list_box_row_changed       (EggListBoxRow *row);
+
 
 GType egg_list_box_get_type (void) G_GNUC_CONST;
 EggListBoxRow* egg_list_box_get_selected_row             (EggListBox                    *list_box);
@@ -115,8 +117,6 @@ void           egg_list_box_set_sort_func                (EggListBox
                                                           EggListBoxSortFunc             sort_func,
                                                           gpointer                       user_data,
                                                           GDestroyNotify                 destroy);
-void           egg_list_box_row_changed                  (EggListBox                    *list_box,
-                                                          EggListBoxRow                 *row);
 void           egg_list_box_set_activate_on_single_click (EggListBox                    *list_box,
                                                           gboolean                       single);
 void           egg_list_box_drag_unhighlight_widget      (EggListBox                    *list_box);
diff --git a/egglistbox.vapi b/egglistbox.vapi
index 240ab40..912bbd5 100644
--- a/egglistbox.vapi
+++ b/egglistbox.vapi
@@ -68,7 +68,6 @@ namespace Egg {
                public unowned Egg.ListBoxRow get_selected_row ();
                public void reseparate ();
                public void resort ();
-               public void row_changed (Egg.ListBoxRow row);
                public void select_row (Egg.ListBoxRow? row);
                public void set_activate_on_single_click (bool single);
                public void set_adjustment (Gtk.Adjustment adjustment);
@@ -97,6 +96,7 @@ namespace Egg {
        public class ListBoxRow : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public ListBoxRow ();
+               public void changed ();
                public unowned Gtk.Widget get_separator ();
                public void set_separator (Gtk.Widget? separator);
        }
diff --git a/test-list.vala b/test-list.vala
index 42b2997..372035e 100644
--- a/test-list.vala
+++ b/test-list.vala
@@ -159,7 +159,7 @@ main (string[] args) {
        row3.label.set_text ("blah3");
        row3.sort_id = 3;
       }
-      list.row_changed (row3);
+      row3.changed();
     });
 
   b = new Button.with_label ("filter");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]