/*! \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-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
namespace studio {
class Instance;
-
+
class HistoryTreeStore : virtual public Gtk::TreeStore
{
/*
*/
public:
-
+
const Model model;
/*
private:
etl::loose_handle<studio::Instance> 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<void> signal_undo_tree_changed_;
+
+ /*
+ -- ** -- S I G N A L I N T E R F A C E S -----------------------------------
+ */
+
+public:
+
+ sigc::signal<void>& signal_undo_tree_changed() { return signal_undo_tree_changed_; }
+
/*
-- ** -- S I G N A L T E R M I N A L S -------------------------------------
*/
private:
void on_undo();
-
+
void on_redo();
-
+
void on_undo_stack_cleared();
-
+
void on_redo_stack_cleared();
-
+
void on_new_action(etl::handle<synfigapp::Action::Undoable> action);
void on_action_status_changed(etl::handle<synfigapp::Action::Undoable> action);
*/
public:
-
+
HistoryTreeStore(etl::loose_handle<studio::Instance> instance_);
~HistoryTreeStore();
void insert_action(Gtk::TreeRow row,etl::handle<synfigapp::Action::Undoable> action, bool is_active=true, bool is_undo=true, bool is_redo=false);
+ static bool search_func(const Glib::RefPtr<TreeModel>&,int,const Glib::ustring&,const TreeModel::iterator&);
+
/*
-- ** -- P R O T E C T E D M E T H O D S -----------------------------------
*/
public:
static Glib::RefPtr<HistoryTreeStore> create(etl::loose_handle<studio::Instance> instance);
-
+
}; // END of class HistoryTreeStore
}; // END of namespace studio