1 /* === S Y N F I G ========================================================= */ 2 /*! \file docks/dock_layers.h 3 ** \brief Template Header 4 ** 5 ** $Id$ 6 ** 7 ** \legal 8 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley 9 ** 10 ** This package is free software; you can redistribute it and/or 11 ** modify it under the terms of the GNU General Public License as 12 ** published by the Free Software Foundation; either version 2 of 13 ** the License, or (at your option) any later version. 14 ** 15 ** This package is distributed in the hope that it will be useful, 16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 ** General Public License for more details. 19 ** \endlegal 20 */ 21 /* ========================================================================= */ 22 23 /* === S T A R T =========================================================== */ 24 25 #ifndef __SYNFIG_STUDIO_DOCK_LAYERS_H 26 #define __SYNFIG_STUDIO_DOCK_LAYERS_H 27 28 /* === H E A D E R S ======================================================= */ 29 30 #include "docks/dockable.h" 31 #include <gtkmm/treeview.h> 32 #include "instance.h" 33 #include "docks/dock_canvasspecific.h" 34 #include <gtkmm/actiongroup.h> 35 #include <list> 36 37 /* === M A C R O S ========================================================= */ 38 39 /* === T Y P E D E F S ===================================================== */ 40 41 /* === C L A S S E S & S T R U C T S ======================================= */ 42 43 namespace Gtk { class HScale; } 44 45 namespace studio { 46 47 class LayerActionManager; 48 49 class Dock_Layers : public Dock_CanvasSpecific 50 { 51 Glib::RefPtr<Gtk::ActionGroup> action_group_new_layers; 52 Glib::RefPtr<Gtk::ActionGroup> action_group_layer_ops; 53 54 Gtk::HScale *layer_amount_hscale; 55 56 LayerActionManager* layer_action_manager; 57 58 protected: 59 virtual void init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view); 60 virtual void changed_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view); 61 62 private: 63 64 void add_layer(synfig::String id); 65 void increase_amount(); 66 void decrease_amount(); 67 68 public: 69 70 71 Dock_Layers(); 72 ~Dock_Layers(); 73 }; // END of Dock_Layers 74 75 }; // END of namespace studio 76 77 /* === E N D =============================================================== */ 78 79 #endif 80