synfig-studio  1.0.3
dock_paledit.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_DOCK_PAL_EDIT_H
26 #define __SYNFIG_STUDIO_DOCK_PAL_EDIT_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <gtk/gtk.h>
31 #include <gtkmm/adjustment.h>
32 #include <gtkmm/table.h>
33 #include <gtkmm/button.h>
34 #include <gtkmm/dialog.h>
35 #include <gtkmm/drawingarea.h>
36 #include <gtkmm/checkbutton.h>
37 
38 #include <synfig/gamma.h>
39 #include <synfig/time.h>
40 
41 #include "../../widgets/widget_coloredit.h"
42 
43 #include <synfigapp/value_desc.h>
44 #include <synfig/time.h>
45 
46 #include "../../docks/dockable.h"
47 #include <vector>
48 #include <gtkmm/actiongroup.h>
49 
50 #include <synfig/palette.h>
51 
52 /* === M A C R O S ========================================================= */
53 
54 /* === T Y P E D E F S ===================================================== */
55 
56 /* === C L A S S E S & S T R U C T S ======================================= */
57 
58 namespace synfigapp {
59 class CanvasInterface;
60 };
61 
62 namespace studio {
63 
64 class Widget_Color;
65 class PaletteSettings;
66 
67 class Dock_PalEdit : public Dockable
68 {
69  friend class PaletteSettings;
70 
71  Glib::RefPtr<Gtk::ActionGroup> action_group;
72 
73  synfig::Palette palette_;
74 
75  Gtk::Table table;
76 
77  void on_add_pressed();
78 
79  void on_save_pressed();
80 
81  void on_open_pressed();
82 
83  void show_menu(int i);
84 
85  sigc::signal<void> signal_changed_;
86 
87 
88 private:
89  int add_color(const synfig::Color& x);
90  void set_color(synfig::Color x, int i);
91  void erase_color(int i);
92 
93  void select_fill_color(int i);
94  void select_outline_color(int i);
95  synfig::Color get_color(int i)const;
96  void edit_color(int i);
97 public:
98  void set_palette(const synfig::Palette& x);
99  const synfig::Palette& get_palette()const { return palette_; }
100 
101  int size()const;
102 
103  void set_default_palette();
104 
105  void refresh();
106 
107  const sigc::signal<void>& signal_changed() { return signal_changed_; }
108 
109  Dock_PalEdit();
110  ~Dock_PalEdit();
111 }; // END of Dock_PalEdit
112 
113 }; // END of namespace studio
114 
115 /* === E N D =============================================================== */
116 
117 #endif