X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fhistorytreestore.h;h=31a4b13aa1eb478b8637dd78a83897a94f5ab95b;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=0cd19425560193e773b27d850910ce1f9c07307c;hpb=02252941b29de64037116f4d37991a38d9ff0d94;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/historytreestore.h b/synfig-studio/trunk/src/gtkmm/historytreestore.h index 0cd1942..31a4b13 100644 --- a/synfig-studio/trunk/src/gtkmm/historytreestore.h +++ b/synfig-studio/trunk/src/gtkmm/historytreestore.h @@ -2,19 +2,21 @@ /*! \file historytreestore.h ** \brief Template Header ** -** $Id: historytreestore.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 +** Copyright (c) 2008 Chris Moore ** -** 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 */ /* ========================================================================= */ @@ -40,7 +42,7 @@ namespace studio { class Instance; - + class HistoryTreeStore : virtual public Gtk::TreeStore { /* @@ -81,7 +83,7 @@ public: */ public: - + const Model model; /* @@ -91,14 +93,30 @@ public: private: etl::loose_handle instance_; - Gtk::TreeIter curr_row; + Gtk::TreeIter curr_row; /* -- ** -- P R I V A T E M E T H O D S --------------------------------------- */ private: - + + /* + -- ** -- P R I V A T E D A T A --------------------------------------------- + */ + +private: + + sigc::signal signal_undo_tree_changed_; + + /* + -- ** -- S I G N A L I N T E R F A C E S ----------------------------------- + */ + +public: + + sigc::signal& signal_undo_tree_changed() { return signal_undo_tree_changed_; } + /* -- ** -- S I G N A L T E R M I N A L S ------------------------------------- */ @@ -106,13 +124,13 @@ private: private: void on_undo(); - + void on_redo(); - + void on_undo_stack_cleared(); - + void on_redo_stack_cleared(); - + void on_new_action(etl::handle action); void on_action_status_changed(etl::handle action); @@ -122,7 +140,7 @@ private: */ public: - + HistoryTreeStore(etl::loose_handle instance_); ~HistoryTreeStore(); @@ -135,6 +153,8 @@ public: void insert_action(Gtk::TreeRow row,etl::handle action, bool is_active=true, bool is_undo=true, bool is_redo=false); + static bool search_func(const Glib::RefPtr&,int,const Glib::ustring&,const TreeModel::iterator&); + /* -- ** -- P R O T E C T E D M E T H O D S ----------------------------------- */ @@ -142,7 +162,7 @@ public: public: static Glib::RefPtr create(etl::loose_handle instance); - + }; // END of class HistoryTreeStore }; // END of namespace studio