1
/* This file is part of the KDE project
3
Copyright (C) 2011 Dominik Haumann <dhaumann kde org>
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Library General Public
7
License as published by the Free Software Foundation; either
8
version 2 of the License, or (at your option) any later version.
10
This library 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 GNU
13
Library General Public License for more details.
15
You should have received a copy of the GNU Library General Public License
16
along with this library; see the file COPYING.LIB. If not, write to
17
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18
Boston, MA 02110-1301, USA.
21
#ifndef VARIABLE_ITEM_H
22
#define VARIABLE_ITEM_H
24
#include <QtGui/QColor>
25
#include <QtGui/QFont>
26
#include <QtCore/QString>
27
#include <QtCore/QStringList>
31
//BEGIN class VariableItem
35
VariableItem(const QString& variable);
36
virtual ~VariableItem();
38
QString variable() const;
39
QString helpText() const;
40
void setHelpText(const QString& text);
42
bool isActive() const;
43
void setActive(bool active);
45
virtual void setValueByString(const QString& value) = 0;
46
virtual QString valueAsString() const = 0;
48
virtual VariableEditor* createEditor(QWidget* parent) = 0;
51
// not implemented: copy constructor and operator=
52
VariableItem(const VariableItem& copy);
53
VariableItem& operator=(const VariableItem& other);
59
//END class VariableItem
63
// DERIVE A CLASS FOR EACH TYPE
66
//BEGIN class VariableIntItem
67
class VariableIntItem : public VariableItem
70
VariableIntItem(const QString& variable, int value);
73
void setValue(int newValue);
74
void setRange(int minValue, int maxValue);
79
virtual void setValueByString(const QString& value);
80
virtual QString valueAsString() const;
81
virtual VariableEditor* createEditor(QWidget* parent);
89
//END class VariableIntItem
92
//BEGIN class VariableStringListItem
93
class VariableStringListItem : public VariableItem
96
VariableStringListItem(const QString& variable, const QStringList& slist, const QString& value);
98
QStringList stringList() const;
100
QString value() const;
101
void setValue(const QString& newValue);
104
virtual void setValueByString(const QString& value);
105
virtual QString valueAsString() const;
106
virtual VariableEditor* createEditor(QWidget* parent);
112
//END class VariableStringListItem
116
//BEGIN class VariableBoolItem
117
class VariableBoolItem : public VariableItem
120
VariableBoolItem(const QString& variable, bool value);
123
void setValue(bool enabled);
126
virtual void setValueByString(const QString& value);
127
virtual QString valueAsString() const;
128
virtual VariableEditor* createEditor(QWidget* parent);
133
//END class VariableBoolItem
137
//BEGIN class VariableColorItem
138
class VariableColorItem : public VariableItem
141
VariableColorItem(const QString& variable, const QColor& value);
143
QColor value() const;
144
void setValue(const QColor& color);
147
virtual void setValueByString(const QString& value);
148
virtual QString valueAsString() const;
149
virtual VariableEditor* createEditor(QWidget* parent);
154
//END class VariableColorItem
158
//BEGIN class VariableFontItem
159
class VariableFontItem : public VariableItem
162
VariableFontItem(const QString& variable, const QFont& value);
165
void setValue(const QFont& value);
168
virtual void setValueByString(const QString& value);
169
virtual QString valueAsString() const;
170
virtual VariableEditor* createEditor(QWidget* parent);
175
//END class VariableFontItem
179
//BEGIN class VariableStringItem
180
class VariableStringItem : public VariableItem
183
VariableStringItem(const QString &variable, const QString &value);
185
QString value() const;
186
void setValue(const QString& value);
189
virtual void setValueByString(const QString& value); // Same as setValue() in this case, implemented for uniformity
190
virtual QString valueAsString() const; // Same as value() in this case, implemented for uniformity
191
virtual VariableEditor* createEditor(QWidget* parent);
197
//END class VariableStringItem
199
//BEGIN class VariableSpellCheckItem
200
class VariableSpellCheckItem : public VariableItem
203
VariableSpellCheckItem(const QString &variable, const QString &value);
205
QString value() const;
206
void setValue(const QString& value);
209
virtual void setValueByString(const QString &value); // Same as setValue() in this case, implemented for uniformity
210
virtual QString valueAsString() const; // Same as value() in this case, implemented for uniformity
211
virtual VariableEditor* createEditor(QWidget *parent);
216
//END class VariableSpellCheckItem
220
// kate: indent-width 2; replace-tabs on;