summaryrefslogtreecommitdiffstats
path: root/kcoloredit/texteditselection.h
diff options
context:
space:
mode:
Diffstat (limited to 'kcoloredit/texteditselection.h')
-rw-r--r--kcoloredit/texteditselection.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/kcoloredit/texteditselection.h b/kcoloredit/texteditselection.h
new file mode 100644
index 00000000..c2166098
--- /dev/null
+++ b/kcoloredit/texteditselection.h
@@ -0,0 +1,89 @@
+/***************************************************************************
+ texteditselection.h - description
+ -------------------
+ begin : Wed Jul 12 2000
+ copyright : (C) 2000 by Artur Rataj
+ email : art@zeus.polsl.gliwice.pl
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef TEXTEDITSELECTION_H
+#define TEXTEDITSELECTION_H
+
+#include <qwidget.h>
+#include <qlineedit.h>
+#include <qlayout.h>
+
+#include "color.h"
+
+/** Color selection widget using line edit. Either HSV or RGB components
+ * can be set.
+ * @author Artur Rataj
+ */
+class TextEditSelection : public QWidget {
+ Q_OBJECT
+
+public:
+ /** Constructs the widget */
+ TextEditSelection(QWidget *parent=0, const char *name=0);
+ ~TextEditSelection();
+
+signals:
+ /** A signal that a color value has changed by edition */
+ void valueChanged(Color*);
+
+public slots:
+ /** sets a color */
+ void slotSetValue(Color* color);
+
+protected:
+ /** Adds a component line edit */
+ void addComponent(const int index, QLineEdit* lineEdit, const int maxValue, const QString& labelString,
+ const int row, const int column, QGridLayout* layout);
+ /** sets RGB string in rgbStringLineEdit */
+ void setRgbString(const int red, const int green, const int blue);
+
+protected slots:
+ /** Called if one of HSV components has changed. In that case, RGB components are
+ * also changed to match the HSV ones
+ */
+ void slotHsvComponentChanged();
+ /** Called if one of RGB components has changed. In that case, HSV components are
+ * also changed to match the RGB ones
+ */
+ void slotRgbComponentChanged();
+ /** Called if the RGB string has changed. In that case, RGB and HSV components are
+ * also changed to match the RGB string
+ */
+ void slotRgbStringChanged();
+
+protected:
+ /** Indexes of components */
+ enum { H_INDEX = 0,
+ S_INDEX = 1,
+ V_INDEX = 2,
+ R_INDEX = 3,
+ G_INDEX = 4,
+ B_INDEX = 5,
+ /** A total number of components */
+ COMPONENTS_NUM = 6 };
+
+ /** Line edit widgets table */
+ QLineEdit* lineEditTable[COMPONENTS_NUM];
+ /** RGB hex string line edit widgets table */
+ QLineEdit* rgbStringLineEdit;
+ /** The selected color */
+ Color color;
+ /** A flag that components are matched */
+ bool inChangingComponents;
+};
+
+#endif