26 #ifndef __SYNFIG_STUDIO_HISTORYTREESTORE_H 
   27 #define __SYNFIG_STUDIO_HISTORYTREESTORE_H 
   31 #include <gtkmm/treestore.h> 
   33 #include <gdkmm/pixbuf.h> 
   54     class Model : 
public Gtk::TreeModel::ColumnRecord
 
   58         Gtk::TreeModelColumn<etl::handle<synfigapp::Action::Undoable> > 
action;
 
   59         Gtk::TreeModelColumn<Glib::ustring> 
name;
 
   60         Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf> > 
icon;
 
   66         Gtk::TreeModelColumn<synfig::Canvas::Handle> 
canvas;
 
   95     etl::loose_handle<studio::Instance> instance_;
 
   96     Gtk::TreeIter curr_row;
 
  110     sigc::signal<void> signal_undo_tree_changed_;
 
  130     void on_undo_stack_cleared();
 
  132     void on_redo_stack_cleared();
 
  134     void on_new_action(etl::handle<synfigapp::Action::Undoable> action);
 
  136     void on_action_status_changed(etl::handle<synfigapp::Action::Undoable> action);
 
  147     etl::loose_handle<studio::Instance> 
instance() { 
return instance_; }
 
  148     etl::loose_handle<const studio::Instance> 
instance()
const { 
return instance_; }
 
  154     void insert_action(Gtk::TreeRow row,etl::handle<synfigapp::Action::Undoable> action, 
bool is_active=
true, 
bool is_undo=
true, 
bool is_redo=
false);
 
  156     static bool search_func(
const Glib::RefPtr<TreeModel>&,
int,
const Glib::ustring&,
const TreeModel::iterator&);
 
  164     static Glib::RefPtr<HistoryTreeStore> 
create(etl::loose_handle<studio::Instance> 
instance);