X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsynfig-studio%2Fsrc%2Fgtkmm%2Flayeractionmanager.h;fp=synfig-studio%2Ftags%2Fstable%2Fsynfig-studio%2Fsrc%2Fgtkmm%2Flayeractionmanager.h;h=515241f30fbb7bc2ecba672787ab2c9975cd4d21;hb=de3db2ba507930dcffd69a876223272eefa6720f;hp=0000000000000000000000000000000000000000;hpb=dbc06d6abaf17178dcbd0a6f68832edc7ba2771d;p=synfig.git diff --git a/synfig-studio/tags/stable/synfig-studio/src/gtkmm/layeractionmanager.h b/synfig-studio/tags/stable/synfig-studio/src/gtkmm/layeractionmanager.h new file mode 100644 index 0000000..515241f --- /dev/null +++ b/synfig-studio/tags/stable/synfig-studio/src/gtkmm/layeractionmanager.h @@ -0,0 +1,108 @@ +/* === S Y N F I G ========================================================= */ +/*! \file template.h +** \brief Template Header +** +** $Id: layeractionmanager.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** +** \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_LAYER_ACTION_MANAGER_H +#define __SYNFIG_LAYER_ACTION_MANAGER_H + +/* === H E A D E R S ======================================================= */ + +#include +#include +#include + +/* === 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 LayerTree; + +class LayerActionManager +{ + Glib::RefPtr ui_manager_; + //Glib::RefPtr tree_selection_; + LayerTree* layer_tree_; + etl::handle canvas_interface_; + + Glib::RefPtr action_group_; + Gtk::UIManager::ui_merge_id popup_id_; + + + Glib::RefPtr action_group_copy_paste; + + Glib::RefPtr action_cut_; + Glib::RefPtr action_copy_; + Glib::RefPtr action_paste_; + + Glib::RefPtr action_amount_inc_; + Glib::RefPtr action_amount_dec_; + Glib::RefPtr action_amount_; + + + std::list clipboard_; + + + sigc::connection selection_changed_connection; + + bool queued; + sigc::connection queue_refresh_connection; + + std::list update_connection_list; + + void cut(); + void copy(); + void paste(); + + void amount_inc(); + void amount_dec(); + +public: + void queue_refresh(); + + LayerActionManager(); + ~LayerActionManager(); + + void set_ui_manager(const Glib::RefPtr &x); + Glib::RefPtr get_ui_manager()const { return ui_manager_; } + + void set_layer_tree(LayerTree* x); + LayerTree* get_layer_tree()const { return layer_tree_; } + + void set_canvas_interface(const etl::handle &x); + etl::handle get_canvas_interface()const { return canvas_interface_; } + + etl::loose_handle get_instance()const { return canvas_interface_->get_instance(); } + + void refresh(); + void clear(); +}; // END of LayerActionManager + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif