synfig-studio  1.0.3
dialog_color.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_DIALOG_COLOR_H
26 #define __SYNFIG_STUDIO_DIALOG_COLOR_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <gtk/gtk.h>
31 #include <gtkmm/dialog.h>
32 #include <gtkmm/tooltip.h>
33 #include <sigc++/functors/slot.h>
34 
36 #include "dialogsettings.h"
37 
38 /* === M A C R O S ========================================================= */
39 
40 /* === T Y P E D E F S ===================================================== */
41 
42 /* === C L A S S E S & S T R U C T S ======================================= */
43 
44 namespace studio {
45 
46 class Widget_Color;
47 
48 class Dialog_Color : public Gtk::Dialog
49 {
50  DialogSettings dialog_settings;
51 
52  Widget_ColorEdit* color_edit_widget;
53 
54  sigc::signal<void,synfig::Color> signal_edited_;
55 
56  bool busy_;
57 
58  void create_color_edit_widget();
59  void create_set_color_button(const char *stock_id,
60  const Glib::ustring& tip_text, int index,
61  const sigc::slot0<void>& callback);
62  void create_close_button();
63 
64  void on_color_changed();
65  void on_set_oc_pressed();
66  void on_set_fc_pressed();
67  bool on_close_pressed();
68 
69 public:
70  Dialog_Color();
71  ~Dialog_Color();
72 
73  sigc::signal<void,synfig::Color>& signal_edited() { return signal_edited_; }
74 
75  void set_color(const synfig::Color& x) { color_edit_widget->set_value(x); }
76  synfig::Color get_color() const { return color_edit_widget->get_value(); }
77  void reset();
78 
79  bool busy() const { return busy_; }
80 
81 }; // END of Dialog_Color
82 
83 }; // END of namespace studio
84 
85 /* === E N D =============================================================== */
86 
87 #endif