synfig-studio  1.0.3
metadatatree.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
22 /* ========================================================================= */
23 
24 /* === S T A R T =========================================================== */
25 
26 #ifndef __SYNFIG_STUDIO_METADATATREE_H
27 #define __SYNFIG_STUDIO_METADATATREE_H
28 
29 /* === H E A D E R S ======================================================= */
30 
31 #include <gtkmm/treeview.h>
32 #include <gtkmm/treestore.h>
35 
36 /* === M A C R O S ========================================================= */
37 
38 /* === T Y P E D E F S ===================================================== */
39 
40 /* === C L A S S E S & S T R U C T S ======================================= */
41 
42 namespace studio {
43 
44 class MetaDataTree : public Gtk::TreeView
45 {
46 public:
47  MetaDataTree();
48  virtual ~MetaDataTree();
50 
51 private:
52  Glib::RefPtr<MetaDataTreeStore> metadata_tree_store_;
53  Gtk::CellRendererText *cell_renderer_key;
54  Gtk::CellRendererText *cell_renderer_data;
55  sigc::signal<void,synfig::String> signal_edited_;
56  sigc::signal<void,synfig::String,synfig::String> signal_edited_data_;
57  bool editable_;
58 
59 private:
60  void on_edited_key(const Glib::ustring&path_string,synfig::String key);
61  void on_edited_data(const Glib::ustring&path_string,synfig::String data);
62 
63 public:
64  void set_model(Glib::RefPtr<MetaDataTreeStore> metadata_tree_store_);
65  void set_editable(bool x=true);
66  bool get_editable()const { return editable_; }
68  sigc::signal<void,synfig::String>& signal_edited() { return signal_edited_; }
70  sigc::signal<void,synfig::String,synfig::String>& signal_edited_data() { return signal_edited_data_; }
71 }; // END of MetaDataTree
72 
73 }; // END of namespace studio
74 
75 /* === E N D =============================================================== */
76 
77 #endif