lib/widgets/flagboxes.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef _FLAGBOXES_H_
00022
#define _FLAGBOXES_H_
00023
00024
#include <kfile.h>
00025
00026
#include <qlistview.h>
00027
#include <qcheckbox.h>
00028
#include <qradiobutton.h>
00029
#include <qptrlist.h>
00030
#include <qstringlist.h>
00031
00032
class QSpinBox;
00033
class FlagListBox;
00034
class FlagListToolTip;
00035
class FlagCheckBoxController;
00036
class FlagRadioButtonController;
00037
class FlagPathEditController;
00038
class FlagEditController;
00039
class KLineEdit;
00040
class QPushButton;
00041
class KURLRequester;
00042
00043
00044 class FlagListItem :
public QCheckListItem
00045 {
00046
public:
00047
FlagListItem(
FlagListBox *parent,
const QString &flagstr,
00048
const QString &description);
00049
FlagListItem(
FlagListBox *parent,
const QString &flagstr,
00050
const QString &description,
const QString &offstr);
00051 ~FlagListItem()
00052 {}
00053
private:
00054 QString flag;
00055 QString off;
00056 QString desc;
00057
friend class FlagListToolTip;
00058
friend class FlagListBox;
00059 };
00060
00061
00062 class FlagListBox :
public QListView
00063 {
00064 Q_OBJECT
00065
public:
00066
FlagListBox(
QWidget *parent=0,
const char *name=0 );
00067 ~FlagListBox()
00068 {}
00069
00070
void readFlags(
QStringList *list);
00071
void writeFlags(
QStringList *list);
00072 };
00073
00074
00075 class FlagCheckBox :
public QCheckBox
00076 {
00077 Q_OBJECT
00078
public:
00079
FlagCheckBox(
QWidget *parent,
FlagCheckBoxController *controller,
00080
const QString &flagstr,
const QString &description);
00081
FlagCheckBox(
QWidget *parent,
FlagCheckBoxController *controller,
00082
const QString &flagstr,
const QString &description,
00083
const QString &offstr);
00084
FlagCheckBox(
QWidget *parent,
FlagCheckBoxController *controller,
00085
const QString &flagstr,
const QString &description,
00086
const QString &offstr,
const QString &defstr);
00087 ~FlagCheckBox()
00088 {}
00089
00090
private:
00091 QString flag;
00092 QString off;
00093 QString def;
00094 bool includeOff;
00095 bool useDef;
00096 bool defSet;
00097
friend class FlagCheckBoxController;
00098 };
00099
00100 class FlagRadioButton :
public QRadioButton
00101 {
00102 Q_OBJECT
00103
public:
00104
FlagRadioButton(
QWidget *parent,
FlagRadioButtonController *controller,
00105
const QString &flagstr,
const QString &description);
00106 ~FlagRadioButton()
00107 {}
00108
00109
private:
00110 QString flag;
00111
friend class FlagRadioButtonController;
00112 };
00113
00114 class FlagPathEdit:
public QWidget
00115 {
00116 Q_OBJECT
00117
public:
00119
FlagPathEdit(
QWidget *parent,
QString pathDelimiter,
FlagPathEditController *controller,
00120
const QString &flagstr,
const QString &description, KFile::Mode mode = KFile::Directory);
00121
00122 ~FlagPathEdit() {}
00123
00124
void setText(
const QString text);
00125
bool isEmpty();
00126
QString text();
00127
00128
private slots:
00129
void showPathDetails();
00130
00131
private:
00132 KLineEdit *
edit;
00133 QPushButton *
details;
00134 KURLRequester *
url;
00135
00136 QString delimiter;
00137 QString flag;
00138 QString m_description;
00139
friend class FlagPathEditController;
00140 };
00141
00142 class FlagListEdit:
public QWidget
00143 {
00144 Q_OBJECT
00145
public:
00147
FlagListEdit(
QWidget *parent,
QString listDelimiter,
FlagEditController *controller,
00148
const QString &flagstr,
const QString &description);
00149
00150 ~FlagListEdit() {}
00151
00152
void setText(
const QString text);
00153
void appendText(
const QString text);
00154
bool isEmpty();
00155
QString text();
00156
QStringList flags();
00157
00158
private slots:
00159
void showListDetails();
00160
00161
private:
00162 KLineEdit *
edit;
00163 QPushButton *
details;
00164
00165 QString delimiter;
00166 QString flag;
00167 QString m_description;
00168
friend class FlagEditController;
00169 };
00170
00171 class FlagSpinEdit:
public QWidget
00172 {
00173
public:
00174
FlagSpinEdit(
QWidget *parent,
int minVal,
int maxVal,
int incr,
int defaultVal,
FlagEditController *controller,
00175
const QString &flagstr,
const QString &description);
00176 ~FlagSpinEdit() {}
00177
00178
void setText(
const QString text);
00179
QString text();
00180
bool isDefault();
00181
00182
QString flags();
00183
00184
private:
00185 int m_defaultVal;
00186 QString flag;
00187
00188 QSpinBox *
spb;
00189
00190
friend class FlagEditController;
00191 };
00192
00193 class FlagPathEditController
00194 {
00195
public:
00196
FlagPathEditController();
00197
~FlagPathEditController();
00198
00199
void readFlags(
QStringList *list);
00200
void writeFlags(
QStringList *list);
00201
00202
private:
00203
void addPathEdit(
FlagPathEdit *item);
00204 QPtrList<FlagPathEdit> plist;
00205
friend class FlagPathEdit;
00206 };
00207
00208 class FlagEditController
00209 {
00210
public:
00211
FlagEditController();
00212
~FlagEditController();
00213
00214
void readFlags(
QStringList *list);
00215
void writeFlags(
QStringList *list);
00216
00217
private:
00218
void addListEdit(
FlagListEdit *item);
00219
void addSpinBox(
FlagSpinEdit *item);
00220 QPtrList<FlagListEdit> plist;
00221 QPtrList<FlagSpinEdit> slist;
00222
friend class FlagListEdit;
00223
friend class FlagSpinEdit;
00224 };
00225
00226 class FlagCheckBoxController
00227 {
00228
public:
00233
FlagCheckBoxController(
QStringList multiKeys =
QStringList());
00234 ~FlagCheckBoxController()
00235 {}
00236
00237
void readFlags(
QStringList *list);
00238
void writeFlags(
QStringList *list);
00239
00240
void addCheckBox(
FlagCheckBox *item);
00241
private:
00242 QPtrList<FlagCheckBox> cblist;
00243
00244 QStringList m_multiKeys;
00245 };
00246
00247 class FlagRadioButtonController
00248 {
00249
public:
00254
FlagRadioButtonController(
QStringList multiKeys =
QStringList());
00255 ~FlagRadioButtonController()
00256 {}
00257
00258
void readFlags(
QStringList *list);
00259
void writeFlags(
QStringList *list);
00260
00261
void addRadioButton(
FlagRadioButton *item);
00262
private:
00263 QPtrList<FlagRadioButton> cblist;
00264
00265 QStringList m_multiKeys;
00266 };
00267
00268
#endif
This file is part of the documentation for KDevelop Version 3.0.4.