Revision: 2220
          http://synfig.svn.sourceforge.net/synfig/?rev=2220&view=rev
Author:   dooglus
Date:     2008-11-19 13:43:47 +0000 (Wed, 19 Nov 2008)

Log Message:
-----------
Add function LayerTreeStore::queue_rebuild().  Nothing uses it yet.

Modified Paths:
--------------
    synfig-studio/trunk/src/gtkmm/layertreestore.cpp
    synfig-studio/trunk/src/gtkmm/layertreestore.h

Modified: synfig-studio/trunk/src/gtkmm/layertreestore.cpp
===================================================================
--- synfig-studio/trunk/src/gtkmm/layertreestore.cpp    2008-11-19 13:42:49 UTC 
(rev 2219)
+++ synfig-studio/trunk/src/gtkmm/layertreestore.cpp    2008-11-19 13:43:47 UTC 
(rev 2220)
@@ -70,6 +70,7 @@
 
 LayerTreeStore::LayerTreeStore(etl::loose_handle<synfigapp::CanvasInterface> 
canvas_interface_):
        Gtk::TreeStore                  (ModelHack()),
+       queued                                  (false),
        canvas_interface_               (canvas_interface_)
 {
        
layer_icon=Gtk::Button().render_icon(Gtk::StockID("synfig-layer"),Gtk::ICON_SIZE_SMALL_TOOLBAR);
@@ -586,8 +587,24 @@
 }
 
 void
+LayerTreeStore::queue_rebuild()
+{
+       if (queued) return;
+       queued = false;
+       queue_connection.disconnect();
+       queue_connection=Glib::signal_timeout().connect(
+               sigc::bind_return(
+                       sigc::mem_fun(*this,&LayerTreeStore::rebuild),
+                       false
+               )
+       ,150);
+}
+
+void
 LayerTreeStore::rebuild()
 {
+       if (queued) queued = false;
+
        //etl::clock timer;timer.reset();
 
        //synfig::warning("---------rebuilding layer table---------");

Modified: synfig-studio/trunk/src/gtkmm/layertreestore.h
===================================================================
--- synfig-studio/trunk/src/gtkmm/layertreestore.h      2008-11-19 13:42:49 UTC 
(rev 2219)
+++ synfig-studio/trunk/src/gtkmm/layertreestore.h      2008-11-19 13:43:47 UTC 
(rev 2220)
@@ -103,6 +103,10 @@
 
 private:
 
+       bool queued;
+
+       sigc::connection queue_connection;
+
        etl::loose_handle<synfigapp::CanvasInterface> canvas_interface_;
 
        Glib::RefPtr<Gdk::Pixbuf> layer_icon;
@@ -184,6 +188,8 @@
 
        bool find_prev_layer_row(const synfig::Layer::Handle &handle, 
Gtk::TreeModel::Children::iterator &iter);
 
+       void queue_rebuild();
+
        void rebuild();
 
        void refresh();


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to