X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fhistorytreestore.h;h=31a4b13aa1eb478b8637dd78a83897a94f5ab95b;hb=933698eb69791193b53ce0142909502de42a6124;hp=46fb28d7439a28ed8b8893a6b7799af1469b970d;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/historytreestore.h b/synfig-studio/trunk/src/gtkmm/historytreestore.h index 46fb28d..31a4b13 100644 --- a/synfig-studio/trunk/src/gtkmm/historytreestore.h +++ b/synfig-studio/trunk/src/gtkmm/historytreestore.h @@ -1,35 +1,37 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \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 */ /* ========================================================================= */ /* === S T A R T =========================================================== */ -#ifndef __SINFG_STUDIO_HISTORYTREESTORE_H -#define __SINFG_STUDIO_HISTORYTREESTORE_H +#ifndef __SYNFIG_STUDIO_HISTORYTREESTORE_H +#define __SYNFIG_STUDIO_HISTORYTREESTORE_H /* === H E A D E R S ======================================================= */ #include -#include +#include #include -#include +#include /* === M A C R O S ========================================================= */ @@ -40,7 +42,7 @@ namespace studio { class Instance; - + class HistoryTreeStore : virtual public Gtk::TreeStore { /* @@ -53,7 +55,7 @@ public: { public: public: - Gtk::TreeModelColumn > action; + Gtk::TreeModelColumn > action; Gtk::TreeModelColumn name; Gtk::TreeModelColumn > icon; Gtk::TreeModelColumn is_active; @@ -61,7 +63,7 @@ public: Gtk::TreeModelColumn is_redo; Gtk::TreeModelColumn canvas_id; - Gtk::TreeModelColumn canvas; + Gtk::TreeModelColumn canvas; Model() { @@ -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,23 +124,23 @@ 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); + void on_new_action(etl::handle action); + + void on_action_status_changed(etl::handle action); /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- */ public: - + HistoryTreeStore(etl::loose_handle instance_); ~HistoryTreeStore(); @@ -133,7 +151,9 @@ public: void refresh() { rebuild(); } - void insert_action(Gtk::TreeRow row,etl::handle action, bool is_active=true, bool is_undo=true, bool is_redo=false); + 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