synfig-studio  1.0.3
widget_compselect.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_STUDIO_WIDGET_COMPSELECT_H
26 #define __SYNFIG_STUDIO_WIDGET_COMPSELECT_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <vector>
31 
32 #include <gtkmm/comboboxtext.h>
33 #include <gtkmm/menu.h>
34 #include "app.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 Gtk { class Menu; };
43 
44 namespace studio {
45 
46 class Widget_CompSelect : public Gtk::ComboBoxText
47 {
48  std::vector< etl::loose_handle<studio::Instance> > instances;
49  etl::loose_handle<studio::Instance> selected_instance;
50 
51  void set_selected_instance_(etl::handle<studio::Instance> x);
52 
53  void new_instance(etl::handle<studio::Instance> x);
54 
55  void delete_instance(etl::handle<studio::Instance> x);
56 
57  void set_selected_instance(etl::loose_handle<studio::Instance> x);
58 
59  void set_selected_instance_signal(etl::handle<studio::Instance> x);
60 
61 protected:
62  virtual void on_changed();
63 
64 public:
67 
68  etl::loose_handle<studio::Instance> get_selected_instance() { return selected_instance; }
69 
70  void refresh();
71 }; // END of class Widget_CompSelect
72 
73 }; // END of namespace studio
74 
75 /* === E N D =============================================================== */
76 
77 #endif