synfig-studio  1.0.3
cellrenderer_gradient.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_CELLRENDERER_GRADIENT_H
26 #define __SYNFIG_STUDIO_CELLRENDERER_GRADIENT_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <glibmm/property.h>
31 #include <glibmm/propertyproxy.h>
32 
33 #include <gtkmm/entry.h>
34 #include <gtkmm/cellrenderertext.h>
35 
36 #include <sigc++/signal.h>
37 #include <sigc++/slot.h>
38 
39 #include <synfig/gradient.h>
40 
41 /* === M A C R O S ========================================================= */
42 
43 /* === T Y P E D E F S ===================================================== */
44 
45 /* === C L A S S E S & S T R U C T S ======================================= */
46 
47 namespace Gtk { class Entry; class Button; };
48 
49 namespace studio {
50 
51 class CellRenderer_Gradient : public Gtk::CellRendererText
52 {
53  sigc::signal<void, const Glib::ustring&> signal_secondary_click_;
54  sigc::signal<void, const Glib::ustring&, synfig::Gradient> signal_edited_;
55 
56  Glib::Property<synfig::Gradient> property_gradient_;
57 
58 public:
59  sigc::signal<void, const Glib::ustring&, synfig::Gradient> &signal_edited()
60  {return signal_edited_; }
61 
62  Glib::PropertyProxy<synfig::Gradient> property_gradient() { return property_gradient_.get_proxy();}
63 
66 
67 protected:
68 
69  virtual void
71  const ::Cairo::RefPtr< ::Cairo::Context>& cr,
72  Gtk::Widget& widget,
73  const Gdk::Rectangle& background_area,
74  const Gdk::Rectangle& cell_area,
75  Gtk::CellRendererState flags);
76 
77  virtual Gtk::CellEditable* start_editing_vfunc(GdkEvent* event,
78  Gtk::Widget& widget,
79  const Glib::ustring& path,
80  const Gdk::Rectangle& background_area,
81  const Gdk::Rectangle& cell_area,
82  Gtk::CellRendererState flags);
83 
84 }; // END of class CellRenderer_Gradient
85 
86 }; // END of namespace studio
87 
88 /* === E N D =============================================================== */
89 
90 #endif