X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2F0.61.08%2Fsrc%2Fgtkmm%2Fdock_history.h;fp=synfig-studio%2Ftags%2F0.61.08%2Fsrc%2Fgtkmm%2Fdock_history.h;h=00154b2fd8780e0a356bc4c12122e3661c65eb2a;hb=79fcd5b32f0accf9f1d13f9b6ded0d628e6f4b33;hp=0000000000000000000000000000000000000000;hpb=c1f365570ac471ede0668ad976fad345747aa8de;p=synfig.git diff --git a/synfig-studio/tags/0.61.08/src/gtkmm/dock_history.h b/synfig-studio/tags/0.61.08/src/gtkmm/dock_history.h new file mode 100644 index 0000000..00154b2 --- /dev/null +++ b/synfig-studio/tags/0.61.08/src/gtkmm/dock_history.h @@ -0,0 +1,90 @@ +/* === S Y N F I G ========================================================= */ +/*! \file dock_history.h +** \brief Template Header +** +** $Id$ +** +** \legal +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** +** 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. +** +** 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 __SYNFIG_STUDIO_DIALOG_HISTORY_H +#define __SYNFIG_STUDIO_DIALOG_HISTORY_H + +/* === H E A D E R S ======================================================= */ + +#include "dockable.h" +#include +#include "instance.h" +#include +#include "dock_canvasspecific.h" + +/* === M A C R O S ========================================================= */ + +/* === T Y P E D E F S ===================================================== */ + +/* === C L A S S E S & S T R U C T S ======================================= */ + +namespace studio { + +class Dock_History : public Dock_CanvasSpecific +{ + Glib::RefPtr action_group; + Gtk::TreeView *action_tree; + + etl::loose_handle selected_instance; + + sigc::connection on_undo_tree_changed_connection; + + void on_undo_tree_changed(); + + void set_selected_instance_(etl::handle x); + + + void set_selected_instance(etl::loose_handle x); + + void set_selected_instance_signal(etl::handle x); + + void delete_instance(etl::handle x); + + Gtk::Widget* create_action_tree(); + +public: + + etl::loose_handle get_selected_instance() { return selected_instance; } + + void clear_undo(); + void clear_redo(); + void clear_undo_and_redo(); + + bool on_action_event(GdkEvent *event); + void on_action_toggle(const Glib::ustring& path); + + void update_undo_redo(); + + Dock_History(); + ~Dock_History(); +protected: + virtual void init_instance_vfunc(etl::loose_handle instance); + +}; // END of Dock_History + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif