X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Flayertreestore.h;h=5b33309f4e5d9fb67c74f8c1ae20ddc12d4d8369;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=d1394a574016663a6f7bc3b7dddd12501893ce98;hpb=02252941b29de64037116f4d37991a38d9ff0d94;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/layertreestore.h b/synfig-studio/trunk/src/gtkmm/layertreestore.h index d1394a5..5b33309 100644 --- a/synfig-studio/trunk/src/gtkmm/layertreestore.h +++ b/synfig-studio/trunk/src/gtkmm/layertreestore.h @@ -2,19 +2,20 @@ /*! \file layertreestore.h ** \brief Template Header ** -** $Id: layertreestore.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -92,7 +93,7 @@ public: */ public: - + //! TreeModel for the layers const Model model; @@ -102,6 +103,12 @@ public: private: + bool queued; + + sigc::connection queue_connection; + + std::map subcanvas_changed_connections; + etl::loose_handle canvas_interface_; Glib::RefPtr layer_icon; @@ -117,8 +124,7 @@ private: */ private: - - virtual void set_value_impl (const Gtk::TreeModel::iterator& row, int column, const Glib::ValueBase& value); + virtual void set_value_impl (const Gtk::TreeModel::iterator& row, int column, const Glib::ValueBase& value); virtual void get_value_vfunc (const Gtk::TreeModel::iterator& iter, int column, Glib::ValueBase& value)const; virtual bool row_draggable_vfunc (const TreeModel::Path& path)const; @@ -170,7 +176,7 @@ private: */ public: - + LayerTreeStore(etl::loose_handle canvas_interface_); ~LayerTreeStore(); @@ -184,6 +190,8 @@ public: bool find_prev_layer_row(const synfig::Layer::Handle &handle, Gtk::TreeModel::Children::iterator &iter); + void queue_rebuild(); + void rebuild(); void refresh(); @@ -205,7 +213,7 @@ public: */ public: - + static Glib::RefPtr create(etl::loose_handle canvas_interface_);