synfig-studio  1.0.3
widget_distance.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_DISTANCE_H
26 #define __SYNFIG_STUDIO_WIDGET_DISTANCE_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <sigc++/signal.h>
31 #include <sigc++/slot.h>
32 #include <gtkmm/spinbutton.h>
33 #include <gtkmm/adjustment.h>
34 #include <synfig/distance.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 Entry; class Button; };
43 
44 namespace studio {
45 
46 class Widget_Distance : public Gtk::SpinButton
47 {
48  //sigc::signal<void> signal_value_changed_;
49 
50  mutable synfig::Distance distance_;
51 
52  Glib::RefPtr<Gtk::Adjustment> adjustment;
53 
54 protected:
55 
56  int on_input(double* new_value);
57  bool on_output();
58 
59 public:
60  //sigc::signal<void> &signal_value_changed() { return signal_value_changed_; }
61  bool on_key_press_event(GdkEventKey* event);
62  bool on_key_release_event(GdkEventKey* event);
63  void set_value(const synfig::Distance &data);
64  synfig::Distance get_value()const;
67 }; // END of class Widget_Distance
68 
69 }; // END of namespace studio
70 
71 /* === E N D =============================================================== */
72 
73 #endif