summaryrefslogtreecommitdiffstats
path: root/ktouch/src/ktouchcolorscheme.h
diff options
context:
space:
mode:
Diffstat (limited to 'ktouch/src/ktouchcolorscheme.h')
-rw-r--r--ktouch/src/ktouchcolorscheme.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/ktouch/src/ktouchcolorscheme.h b/ktouch/src/ktouchcolorscheme.h
new file mode 100644
index 00000000..47e28813
--- /dev/null
+++ b/ktouch/src/ktouchcolorscheme.h
@@ -0,0 +1,82 @@
+/***************************************************************************
+ * ktouchcolorscheme.h *
+ * ------------------- *
+ * Copyright (C) 2003 by Andreas Nicolai *
+ * *
+ * 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 KTOUCHCOLORSCHEME_H
+#define KTOUCHCOLORSCHEME_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <qcolor.h>
+#include <qvaluevector.h>
+
+#include <kurl.h>
+
+class QDomDocument;
+class QDomElement;
+class QDomNode;
+
+/// Contains all colours of the colour scheme.
+///
+/// This is the colour scheme used for the slide line widget and the keyboard widget.
+class KTouchColorScheme {
+ public:
+ /// Default constructor.
+ KTouchColorScheme() { clear(); }
+ /// Creates the default colour scheme.
+ void clear();
+
+ /// Loads a color map (in XML format) from XML node (returns true if successful)
+ bool read(const QDomNode& node);
+ /// Saves a color map to XML document (returns true if successful).
+ void write(QDomDocument& doc, QDomElement& root) const;
+
+
+ QString m_name; ///< The name of the colour scheme.
+
+ QColor m_teacherTextColor; ///< The text colour for the teachers line.
+ QColor m_teacherBackground; ///< The background colour for the teachers line.
+ QColor m_studentTextColor; ///< The text colour for the students line.
+ QColor m_studentBackground; ///< The background colour for the students line.
+ QColor m_errorTextColor; ///< The text colour for wrong text (students line).
+ QColor m_errorBackground; ///< The background colour for wrong text (students line).
+
+ QColor m_frame; ///< The colour for the key frames.
+ QColor m_background[8]; ///< The background colour of the finger keys and the associated normal keys.
+ QColor m_text; ///< The colour for the text on the keys.
+ QColor m_backgroundH; ///< The background colour for highlighted (next) normal keys.
+ QColor m_textH; ///< The text/pen colour for highlighted (next) normal keys.
+ QColor m_cBackground; ///< The background colour for the control keys.
+ QColor m_cText; ///< The text/pen colour for the control keys.
+ QColor m_cBackgroundH; ///< The background colour for activated control keys.
+ QColor m_cTextH; ///< The text/pen colour for activated control keys.
+
+ bool m_default; ///< If true, this color map is marked as default and will not
+ /// be saved in the XML file.
+
+ // *** static member functions ***
+
+ /// Loads several color maps (in XML format) from file (returns true if successful)
+ /// and _adds_ them to the current color maps. This function shall be called
+ /// directly after createDefaultColorSchemes().
+ static bool readList(QWidget * window, const KURL& url);
+ /// Saves several color maps to file (returns true if successful).
+ /// Only non-default color maps are written to file.
+ static bool writeList(QWidget * window, const KURL& url);
+ /// Creates some default color schemes (erases m_colorSchemes before).
+ static void createDefaults();
+ /// Contains all color schemes available in the program.
+ static QValueVector<KTouchColorScheme> m_colorSchemes;
+};
+
+#endif // KTOUCHCOLORSCHEME_H
+