synfig-studio  1.0.3
groupactionmanager.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_GROUP_ACTION_MANAGER_H
26 #define __SYNFIG_GROUP_ACTION_MANAGER_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <gtkmm/uimanager.h>
31 #include <gtkmm/treeview.h>
33 
34 /* === M A C R O S ========================================================= */
35 
36 /* === T Y P E D E F S ===================================================== */
37 
38 /* === C L A S S E S & S T R U C T S ======================================= */
39 
40 namespace studio {
41 
42 class LayerGroupTree;
43 
45 {
46  Glib::RefPtr<Gtk::UIManager> ui_manager_;
47  LayerGroupTree* group_tree_;
48  etl::handle<synfigapp::CanvasInterface> canvas_interface_;
49 
50  Glib::RefPtr<Gtk::ActionGroup> action_group_;
51  Gtk::UIManager::ui_merge_id popup_id_;
52 
53  sigc::connection selection_changed_connection;
54 
55  bool queued;
56  sigc::connection queue_refresh_connection;
57 
58 private:
59 
60  void on_action_add();
61 
62 public:
63  void queue_refresh();
64 
67 
68  void set_ui_manager(const Glib::RefPtr<Gtk::UIManager> &x);
69  Glib::RefPtr<Gtk::UIManager> get_ui_manager()const { return ui_manager_; }
70 
72  LayerGroupTree* get_group_tree()const { return group_tree_; }
73 
74  void set_canvas_interface(const etl::handle<synfigapp::CanvasInterface> &x);
75  etl::handle<synfigapp::CanvasInterface> get_canvas_interface()const { return canvas_interface_; }
76 
77  void refresh();
78  void clear();
79 }; // END of GroupActionManager
80 
81 }; // END of namespace studio
82 
83 /* === E N D =============================================================== */
84 
85 #endif