00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_STUDIO_DOCK_LAYERS_H
00026 #define __SYNFIG_STUDIO_DOCK_LAYERS_H
00027
00028
00029
00030 #include "dockable.h"
00031 #include <gtkmm/treeview.h>
00032 #include "instance.h"
00033 #include "dock_canvasspecific.h"
00034 #include <gtkmm/actiongroup.h>
00035 #include <list>
00036
00037
00038
00039
00040
00041
00042
00043 namespace Gtk { class HScale; }
00044
00045 namespace studio {
00046
00047 class LayerActionManager;
00048
00049 class Dock_Layers : public Dock_CanvasSpecific
00050 {
00051 Glib::RefPtr<Gtk::ActionGroup> action_group_new_layers;
00052 Glib::RefPtr<Gtk::ActionGroup> action_group_layer_ops;
00053
00054 Gtk::HScale *layer_amount_hscale;
00055
00056 LayerActionManager* layer_action_manager;
00057
00058 protected:
00059 virtual void init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view);
00060 virtual void changed_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view);
00061
00062 private:
00063
00064 void add_layer(synfig::String id);
00065 void increase_amount();
00066 void decrease_amount();
00067
00068 public:
00069
00070
00071 Dock_Layers();
00072 ~Dock_Layers();
00073 };
00074
00075 };
00076
00077
00078
00079 #endif