[baobab/wip/valacharts] Charts: connect model signals
- From: Stefano Facchini <sfacchini src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [baobab/wip/valacharts] Charts: connect model signals
- Date: Tue, 11 Jun 2013 13:30:49 +0000 (UTC)
commit e98106b2b4b8fbc4e3164f8a5e032756693e4282
Author: Stefano Facchini <stefano facchini gmail com>
Date: Tue Jun 11 13:44:55 2013 +0200
Charts: connect model signals
src/baobab-chart.vala | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/src/baobab-chart.vala b/src/baobab-chart.vala
index 733ef93..3f82431 100644
--- a/src/baobab-chart.vala
+++ b/src/baobab-chart.vala
@@ -65,9 +65,15 @@ namespace Baobab {
return;
}
+ if (model_ != null) {
+ disconnect_model_signals (model_);
+ }
+
model_ = value;
root = null;
+ connect_model_signals (model_);
+
queue_draw ();
}
get {
@@ -375,10 +381,10 @@ namespace Baobab {
update_draw (path);
}
- void row_reordered (Gtk.TreeModel model,
- Gtk.TreePath path,
- Gtk.TreeIter iter,
- int new_order) {
+ void rows_reordered (Gtk.TreeModel model,
+ Gtk.TreePath path,
+ Gtk.TreeIter? iter,
+ void *new_order) {
model_changed = true;
update_draw (path);
}
@@ -557,5 +563,21 @@ namespace Baobab {
context_menu.popup (null, null, null, 0, Gtk.get_current_event_time ());
}
}
+
+ void connect_model_signals (Gtk.TreeModel m) {
+ m.row_changed.connect (row_changed);
+ m.row_inserted.connect (row_inserted);
+ m.row_has_child_toggled.connect (row_has_child_toggled);
+ m.row_deleted.connect (row_deleted);
+ m.rows_reordered.connect (rows_reordered);
+ }
+
+ void disconnect_model_signals (Gtk.TreeModel m) {
+ m.row_changed.disconnect (row_changed);
+ m.row_inserted.disconnect (row_inserted);
+ m.row_has_child_toggled.disconnect (row_has_child_toggled);
+ m.row_deleted.disconnect (row_deleted);
+ m.rows_reordered.disconnect (rows_reordered);
+ }
}
}
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]