Improved gradient creator
[dashstudio.git] / src / components / colorpalette / gradientcreator.h
blobd36fc39faa68451cee589f4f06005f40b3486ebe
1 /***************************************************************************
2 * Copyright (C) 2005 by Jorge Cuadrado *
3 * kuadrosx@toonka.com *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
21 #ifndef GRADIENTMANAGER_H
22 #define GRADIENTMANAGER_H
25 #include <QFrame>
26 #include <QGroupBox>
27 #include <QSpinBox>
28 #include <QLabel>
29 #include <QBoxLayout>
33 namespace Components {
35 class SpinControl;
37 /**
39 * @if english
40 * @short translate me
41 * @elseif spanish
42 * @short Esta clase provee de una simple interfaz grafica para crear gradientes.
43 * Consta de un visalizador de gradientes, un configurador de "stops", dos selector de tipos de gradientes (tipo y "spread").
45 * @endif
47 * @author Jorge Cuadrado <kuadrosx@toonka.com>
49 class GradientCreator : public QFrame
51 Q_OBJECT
52 public:
53 /**
54 * @if english
55 * Translate
56 * @elseif spanish
57 * Constructor por defecto.
58 * @endif
60 GradientCreator(QWidget *parent = 0);
61 /**
62 * Destructor
64 ~GradientCreator();
66 /**
67 * @if english
68 * Translate
69 * @elseif spanish
70 * Cambia el color del "stop" actual.
71 * @endif
73 void setCurrentColor(const QColor &);
74 /**
75 * @if english
76 * Translate
77 * @elseif spanish
78 * Devuelve el tipo del gradiente actual.
79 * @endif
80 * @see QGradient
82 int gradientType();
83 /**
84 * @if english
85 * Translate
86 * @elseif spanish
87 * Devuelve un QBrush con el gradiente acutal.
88 * @endif
89 * @see QBrush
91 QBrush currentGradient();
93 /**
94 * Devuelve el tamaƱo ideal
96 virtual QSize sizeHint () const;
98 private:
99 struct Private;
100 Private *const d;
102 public slots:
104 * @if english
105 * Translate
106 * @elseif spanish
107 * Cambia el tipo del gradiente actual.
108 * @endif
109 * @see QGradient
111 void changeType(int type);
113 * @if english
114 * Translate
115 * @elseif spanish
116 * Cambia el "spread" del gradiente actual.
117 * @endif
118 * @see QGradient
120 void changeSpread(int spread);
122 * @if english
123 * Translate
124 * @elseif spanish
125 * Cambia los "GradientStops" del gradiente actual.
126 * @endif
127 * @see QGradientStops
129 void changeGradientStops( const QGradientStops& );
131 * @if english
132 * Translate
133 * @elseif spanish
134 * Cambia el gradiente actual.
135 * @endif
137 void setGradient(const QBrush & gradient);
139 private slots:
140 void emitGradientChanged();
142 signals:
143 void gradientChanged(const QBrush &);
144 void controlArrowAdded();
151 #endif