Blame view
scripts/kconfig/qconf.h
7.75 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 |
/* * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org> * Released under the terms of the GNU GPL v2.0. */ |
133c5f7c1 kconfig qconf: po... |
5 |
#if QT_VERSION < 0x040000 |
1da177e4c Linux-2.6.12-rc2 |
6 |
#include <qlistview.h> |
1da177e4c Linux-2.6.12-rc2 |
7 |
#else |
133c5f7c1 kconfig qconf: po... |
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <q3listview.h> #endif #include <qsettings.h> #if QT_VERSION < 0x040000 #define Q3ValueList QValueList #define Q3PopupMenu QPopupMenu #define Q3ListView QListView #define Q3ListViewItem QListViewItem #define Q3VBox QVBox #define Q3TextBrowser QTextBrowser #define Q3MainWindow QMainWindow #define Q3Action QAction #define Q3ToolBar QToolBar #define Q3ListViewItemIterator QListViewItemIterator #define Q3FileDialog QFileDialog |
1da177e4c Linux-2.6.12-rc2 |
24 |
#endif |
7fc925fd6 kconfig: finer cu... |
25 |
class ConfigView; |
1da177e4c Linux-2.6.12-rc2 |
26 27 28 29 |
class ConfigList; class ConfigItem; class ConfigLineEdit; class ConfigMainWindow; |
1da177e4c Linux-2.6.12-rc2 |
30 31 |
class ConfigSettings : public QSettings { public: |
133c5f7c1 kconfig qconf: po... |
32 33 |
Q3ValueList<int> readSizes(const QString& key, bool *ok); bool writeSizes(const QString& key, const Q3ValueList<int>& value); |
1da177e4c Linux-2.6.12-rc2 |
34 35 36 37 38 39 |
}; enum colIdx { promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx, dataColIdx, colNr }; enum listMode { |
43bf612af kconfig: Add sear... |
40 |
singleMode, menuMode, symbolMode, fullMode, listMode |
1da177e4c Linux-2.6.12-rc2 |
41 |
}; |
39a4897c1 xconfig: add supp... |
42 43 44 |
enum optionMode { normalOpt = 0, allOpt, promptOpt }; |
1da177e4c Linux-2.6.12-rc2 |
45 |
|
133c5f7c1 kconfig qconf: po... |
46 |
class ConfigList : public Q3ListView { |
1da177e4c Linux-2.6.12-rc2 |
47 |
Q_OBJECT |
133c5f7c1 kconfig qconf: po... |
48 |
typedef class Q3ListView Parent; |
1da177e4c Linux-2.6.12-rc2 |
49 |
public: |
7fc925fd6 kconfig: finer cu... |
50 |
ConfigList(ConfigView* p, const char *name = 0); |
1da177e4c Linux-2.6.12-rc2 |
51 52 53 54 55 |
void reinit(void); ConfigView* parent(void) const { return (ConfigView*)Parent::parent(); } |
b65a47e1a kconfig: jump to ... |
56 |
ConfigItem* findConfigItem(struct menu *); |
1da177e4c Linux-2.6.12-rc2 |
57 58 |
protected: |
1da177e4c Linux-2.6.12-rc2 |
59 60 61 62 63 64 |
void keyPressEvent(QKeyEvent *e); void contentsMousePressEvent(QMouseEvent *e); void contentsMouseReleaseEvent(QMouseEvent *e); void contentsMouseMoveEvent(QMouseEvent *e); void contentsMouseDoubleClickEvent(QMouseEvent *e); void focusInEvent(QFocusEvent *e); |
7fc925fd6 kconfig: finer cu... |
65 |
void contextMenuEvent(QContextMenuEvent *e); |
1da177e4c Linux-2.6.12-rc2 |
66 67 68 69 70 71 72 |
public slots: void setRootMenu(struct menu *menu); void updateList(ConfigItem *item); void setValue(ConfigItem* item, tristate val); void changeValue(ConfigItem* item); void updateSelection(void); |
7fc925fd6 kconfig: finer cu... |
73 |
void saveSettings(void); |
1da177e4c Linux-2.6.12-rc2 |
74 |
signals: |
43bf612af kconfig: Add sear... |
75 |
void menuChanged(struct menu *menu); |
1da177e4c Linux-2.6.12-rc2 |
76 77 |
void menuSelected(struct menu *menu); void parentSelected(void); |
b65a47e1a kconfig: jump to ... |
78 |
void gotFocus(struct menu *); |
1da177e4c Linux-2.6.12-rc2 |
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
public: void updateListAll(void) { updateAll = true; updateList(NULL); updateAll = false; } ConfigList* listView() { return this; } ConfigItem* firstChild() const { return (ConfigItem *)Parent::firstChild(); } int mapIdx(colIdx idx) { return colMap[idx]; } void addColumn(colIdx idx, const QString& label) { colMap[idx] = Parent::addColumn(label); colRevMap[colMap[idx]] = idx; } void removeColumn(colIdx idx) { int col = colMap[idx]; if (col >= 0) { Parent::removeColumn(col); colRevMap[col] = colMap[idx] = -1; } } void setAllOpen(bool open); void setParentMenu(void); |
39a4897c1 xconfig: add supp... |
114 |
bool menuSkip(struct menu *); |
1da177e4c Linux-2.6.12-rc2 |
115 |
template <class P> |
19144d0be [PATCH] fix gcc4.... |
116 |
void updateMenuList(P*, struct menu*); |
1da177e4c Linux-2.6.12-rc2 |
117 118 119 120 121 122 |
bool updateAll; QPixmap symbolYesPix, symbolModPix, symbolNoPix; QPixmap choiceYesPix, choiceNoPix; QPixmap menuPix, menuInvPix, menuBackPix, voidPix; |
39a4897c1 xconfig: add supp... |
123 |
bool showName, showRange, showData; |
1da177e4c Linux-2.6.12-rc2 |
124 |
enum listMode mode; |
39a4897c1 xconfig: add supp... |
125 |
enum optionMode optMode; |
1da177e4c Linux-2.6.12-rc2 |
126 127 128 |
struct menu *rootEntry; QColorGroup disabledColorGroup; QColorGroup inactivedColorGroup; |
133c5f7c1 kconfig qconf: po... |
129 |
Q3PopupMenu* headerPopup; |
1da177e4c Linux-2.6.12-rc2 |
130 131 132 133 134 |
private: int colMap[colNr]; int colRevMap[colNr]; }; |
133c5f7c1 kconfig qconf: po... |
135 136 |
class ConfigItem : public Q3ListViewItem { typedef class Q3ListViewItem Parent; |
1da177e4c Linux-2.6.12-rc2 |
137 |
public: |
133c5f7c1 kconfig qconf: po... |
138 |
ConfigItem(Q3ListView *parent, ConfigItem *after, struct menu *m, bool v) |
1da177e4c Linux-2.6.12-rc2 |
139 140 141 142 143 144 145 146 147 |
: Parent(parent, after), menu(m), visible(v), goParent(false) { init(); } ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v) : Parent(parent, after), menu(m), visible(v), goParent(false) { init(); } |
133c5f7c1 kconfig qconf: po... |
148 |
ConfigItem(Q3ListView *parent, ConfigItem *after, bool v) |
1da177e4c Linux-2.6.12-rc2 |
149 150 151 152 153 154 |
: Parent(parent, after), menu(0), visible(v), goParent(true) { init(); } ~ConfigItem(void); void init(void); |
1da177e4c Linux-2.6.12-rc2 |
155 |
void okRename(int col); |
1da177e4c Linux-2.6.12-rc2 |
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
void updateMenu(void); void testUpdateMenu(bool v); ConfigList* listView() const { return (ConfigList*)Parent::listView(); } ConfigItem* firstChild() const { return (ConfigItem *)Parent::firstChild(); } ConfigItem* nextSibling() const { return (ConfigItem *)Parent::nextSibling(); } void setText(colIdx idx, const QString& text) { Parent::setText(listView()->mapIdx(idx), text); } QString text(colIdx idx) const { return Parent::text(listView()->mapIdx(idx)); } void setPixmap(colIdx idx, const QPixmap& pm) { Parent::setPixmap(listView()->mapIdx(idx), pm); } const QPixmap* pixmap(colIdx idx) const { return Parent::pixmap(listView()->mapIdx(idx)); } void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align); ConfigItem* nextItem; struct menu *menu; bool visible; bool goParent; }; class ConfigLineEdit : public QLineEdit { Q_OBJECT typedef class QLineEdit Parent; public: |
43bf612af kconfig: Add sear... |
198 |
ConfigLineEdit(ConfigView* parent); |
1da177e4c Linux-2.6.12-rc2 |
199 200 201 202 203 204 205 206 207 208 |
ConfigView* parent(void) const { return (ConfigView*)Parent::parent(); } void show(ConfigItem *i); void keyPressEvent(QKeyEvent *e); public: ConfigItem *item; }; |
133c5f7c1 kconfig qconf: po... |
209 |
class ConfigView : public Q3VBox { |
7fc925fd6 kconfig: finer cu... |
210 |
Q_OBJECT |
133c5f7c1 kconfig qconf: po... |
211 |
typedef class Q3VBox Parent; |
7fc925fd6 kconfig: finer cu... |
212 213 214 215 216 |
public: ConfigView(QWidget* parent, const char *name = 0); ~ConfigView(void); static void updateList(ConfigItem* item); static void updateListAll(void); |
7fc925fd6 kconfig: finer cu... |
217 218 219 220 |
bool showName(void) const { return list->showName; } bool showRange(void) const { return list->showRange; } bool showData(void) const { return list->showData; } public slots: |
7fc925fd6 kconfig: finer cu... |
221 222 223 |
void setShowName(bool); void setShowRange(bool); void setShowData(bool); |
39a4897c1 xconfig: add supp... |
224 |
void setOptionMode(QAction *); |
7fc925fd6 kconfig: finer cu... |
225 |
signals: |
7fc925fd6 kconfig: finer cu... |
226 227 228 229 230 231 232 233 234 |
void showNameChanged(bool); void showRangeChanged(bool); void showDataChanged(bool); public: ConfigList* list; ConfigLineEdit* lineEdit; static ConfigView* viewList; ConfigView* nextView; |
39a4897c1 xconfig: add supp... |
235 236 237 238 |
static QAction *showNormalAction; static QAction *showAllAction; static QAction *showPromptAction; |
7fc925fd6 kconfig: finer cu... |
239 |
}; |
133c5f7c1 kconfig qconf: po... |
240 |
class ConfigInfoView : public Q3TextBrowser { |
43bf612af kconfig: Add sear... |
241 |
Q_OBJECT |
133c5f7c1 kconfig qconf: po... |
242 |
typedef class Q3TextBrowser Parent; |
43bf612af kconfig: Add sear... |
243 244 245 246 247 248 |
public: ConfigInfoView(QWidget* parent, const char *name = 0); bool showDebug(void) const { return _showDebug; } public slots: void setInfo(struct menu *menu); |
7fc925fd6 kconfig: finer cu... |
249 |
void saveSettings(void); |
43bf612af kconfig: Add sear... |
250 251 252 253 |
void setShowDebug(bool); signals: void showDebugChanged(bool); |
b65a47e1a kconfig: jump to ... |
254 |
void menuSelected(struct menu *); |
43bf612af kconfig: Add sear... |
255 256 |
protected: |
ab45d190f kconfig: create l... |
257 |
void symbolInfo(void); |
43bf612af kconfig: Add sear... |
258 259 260 |
void menuInfo(void); QString debug_info(struct symbol *sym); static QString print_filter(const QString &str); |
ab45d190f kconfig: create l... |
261 |
static void expr_print_help(void *data, struct symbol *sym, const char *str); |
133c5f7c1 kconfig qconf: po... |
262 |
Q3PopupMenu* createPopupMenu(const QPoint& pos); |
7fc925fd6 kconfig: finer cu... |
263 |
void contentsContextMenuEvent(QContextMenuEvent *e); |
43bf612af kconfig: Add sear... |
264 |
|
ab45d190f kconfig: create l... |
265 |
struct symbol *sym; |
133c5f7c1 kconfig qconf: po... |
266 |
struct menu *_menu; |
43bf612af kconfig: Add sear... |
267 268 269 270 271 272 273 |
bool _showDebug; }; class ConfigSearchWindow : public QDialog { Q_OBJECT typedef class QDialog Parent; public: |
63431e756 kconfig/xconfig: ... |
274 |
ConfigSearchWindow(ConfigMainWindow* parent, const char *name = 0); |
7fc925fd6 kconfig: finer cu... |
275 |
|
43bf612af kconfig: Add sear... |
276 |
public slots: |
7fc925fd6 kconfig: finer cu... |
277 |
void saveSettings(void); |
43bf612af kconfig: Add sear... |
278 |
void search(void); |
7fc925fd6 kconfig: finer cu... |
279 |
|
43bf612af kconfig: Add sear... |
280 281 282 |
protected: QLineEdit* editField; QPushButton* searchButton; |
7fc925fd6 kconfig: finer cu... |
283 |
QSplitter* split; |
43bf612af kconfig: Add sear... |
284 285 286 287 288 |
ConfigView* list; ConfigInfoView* info; struct symbol **result; }; |
133c5f7c1 kconfig qconf: po... |
289 |
class ConfigMainWindow : public Q3MainWindow { |
1da177e4c Linux-2.6.12-rc2 |
290 |
Q_OBJECT |
3b354c557 [PATCH] kconfig: ... |
291 |
|
133c5f7c1 kconfig qconf: po... |
292 |
static Q3Action *saveAction; |
3b354c557 [PATCH] kconfig: ... |
293 |
static void conf_changed(void); |
1da177e4c Linux-2.6.12-rc2 |
294 295 296 |
public: ConfigMainWindow(void); public slots: |
1da177e4c Linux-2.6.12-rc2 |
297 |
void changeMenu(struct menu *); |
b65a47e1a kconfig: jump to ... |
298 |
void setMenuLink(struct menu *); |
1da177e4c Linux-2.6.12-rc2 |
299 300 301 |
void listFocusChanged(void); void goBack(void); void loadConfig(void); |
bac6aa865 xconfig: Abort cl... |
302 |
bool saveConfig(void); |
1da177e4c Linux-2.6.12-rc2 |
303 |
void saveConfigAs(void); |
43bf612af kconfig: Add sear... |
304 |
void searchConfig(void); |
1da177e4c Linux-2.6.12-rc2 |
305 306 307 |
void showSingleView(void); void showSplitView(void); void showFullView(void); |
1da177e4c Linux-2.6.12-rc2 |
308 309 310 311 312 313 |
void showIntro(void); void showAbout(void); void saveSettings(void); protected: void closeEvent(QCloseEvent *e); |
43bf612af kconfig: Add sear... |
314 |
ConfigSearchWindow *searchWindow; |
1da177e4c Linux-2.6.12-rc2 |
315 316 317 318 |
ConfigView *menuView; ConfigList *menuList; ConfigView *configView; ConfigList *configList; |
43bf612af kconfig: Add sear... |
319 |
ConfigInfoView *helpText; |
133c5f7c1 kconfig qconf: po... |
320 321 |
Q3ToolBar *toolBar; Q3Action *backAction; |
1da177e4c Linux-2.6.12-rc2 |
322 323 |
QSplitter* split1; QSplitter* split2; |
1da177e4c Linux-2.6.12-rc2 |
324 |
}; |