source: synfigstudio/trunk/fuentes/src/gui/modules/mod_palette/dock_paledit.h @ 481

Last change on this file since 481 was 481, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 2.8 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file docks/dock_paledit.h
3**      \brief Template Header
4**
5**      $Id$
6**
7**      \legal
8**      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9**
10**      This package is free software; you can redistribute it and/or
11**      modify it under the terms of the GNU General Public License as
12**      published by the Free Software Foundation; either version 2 of
13**      the License, or (at your option) any later version.
14**
15**      This package is distributed in the hope that it will be useful,
16**      but WITHOUT ANY WARRANTY; without even the implied warranty of
17**      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18**      General Public License for more details.
19**      \endlegal
20*/
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
58namespace synfigapp {
59class CanvasInterface;
60};
61
62namespace studio {
63
64class Widget_Color;
65class PaletteSettings;
66
67class 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
88private:
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);
97public:
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
Note: See TracBrowser for help on using the repository browser.