synfig-studio  1.0.3
widget_vector.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_VECTOR_H
26 #define __SYNFIG_STUDIO_WIDGET_VECTOR_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <gtkmm/box.h>
31 #include <gtkmm/adjustment.h>
32 #include <synfig/vector.h>
33 #include <synfig/distance.h>
34 #include <synfig/canvas.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 SpinButton; };
43 
44 namespace studio {
45 
46 class Widget_Distance;
47 
48 class Widget_Vector : public Gtk::HBox
49 {
50  Gtk::Entry* entry_x;
51  Gtk::Entry* entry_y;
52 
53  Gtk::SpinButton* spinbutton_x;
54  Gtk::SpinButton* spinbutton_y;
55 
56  Widget_Distance* distance_x;
57  Widget_Distance* distance_y;
58 
59  Glib::RefPtr<Gtk::Adjustment> x_adjustment;
60  Glib::RefPtr<Gtk::Adjustment> y_adjustment;
61 
62  synfig::Vector vector;
63 
64  sigc::signal<void> signal_value_changed_;
65 
66  sigc::signal<void> signal_activate_;
67 
68  synfig::Canvas::LooseHandle canvas_;
69 
70 public:
71 
72  void activate() { signal_activate_(); }
73 
74  void set_canvas(synfig::Canvas::LooseHandle);
75  synfig::Canvas::LooseHandle get_canvas()const { return canvas_; }
76 
77  sigc::signal<void>& signal_value_changed() { return signal_value_changed_; }
78 
79  sigc::signal<void>& signal_activate() { return signal_activate_; }
80 
81  void on_value_changed();
82  void on_entry_x_changed();
83  void on_entry_y_changed();
84  void on_grab_focus();
85 
86  void set_value(const synfig::Vector &data);
87  const synfig::Vector &get_value();
88  void set_has_frame(bool x);
89  void set_digits(int x);
90  Widget_Vector();
92 
93 protected:
94  void show_all_vfunc();
95 }; // END of class Widget_Vector
96 
97 }; // END of namespace studio
98 
99 /* === E N D =============================================================== */
100 
101 #endif