diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2004-07-04 18:58:02 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2004-07-04 18:58:02 (GMT) |
commit | c1605e5b6df0248e8dae3a578a89885f26b41c88 (patch) | |
tree | 664f7eba133cf2b4d4e8add25229777806fc9b8c /addon/doxywizard/expert.h | |
parent | 6b195c8d27c7cba3885acf1540f33ea7f51b9d1b (diff) | |
download | Doxygen-c1605e5b6df0248e8dae3a578a89885f26b41c88.zip Doxygen-c1605e5b6df0248e8dae3a578a89885f26b41c88.tar.gz Doxygen-c1605e5b6df0248e8dae3a578a89885f26b41c88.tar.bz2 |
Release-1.3.7-20040704
Diffstat (limited to 'addon/doxywizard/expert.h')
-rw-r--r-- | addon/doxywizard/expert.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/addon/doxywizard/expert.h b/addon/doxywizard/expert.h new file mode 100644 index 0000000..7deeb17 --- /dev/null +++ b/addon/doxywizard/expert.h @@ -0,0 +1,82 @@ +/****************************************************************************** + * + * + * + * Copyright (C) 1997-2004 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + */ + +#ifndef EXPERT_H +#define EXPERT_H + +#include <qtabdialog.h> +#include <qlist.h> +#include <qdict.h> + +class IInput; +class QWidget; +class QObject; +class InputBool; +class InputString; +class InputStrList; +class InputFile; +class InputDir; +class InputInt; + +class ConfigWidget +{ + public: + enum Kind { Int, String, StrList, Bool }; + + ConfigWidget(QWidget *w,Kind k) : m_widget(w), m_kind(k) {} + + Kind kind() const { return m_kind; } + + InputString *getString() const + { return m_kind==String ? (InputString *)m_widget : 0; } + + InputBool *getBool() const + { return m_kind==Bool ? (InputBool *)m_widget : 0; } + + InputStrList *getStrList() const + { return m_kind==StrList ? (InputStrList *)m_widget : 0; } + + InputInt *getInt() const + { return m_kind==Int ? (InputInt *)m_widget : 0; } + + private: + QWidget *m_widget; + Kind m_kind; +}; + +class Expert : public QTabDialog +{ + Q_OBJECT + + public: + Expert(QWidget *parent=0); + ~Expert(); + void init(); + void addDependency(QDict<QObject> *switches, + const QCString &dep,const QCString &name); + + signals: + void changed(); + + private slots: + void toggle(const char *,bool); + void handleHelp(); + + private: + QDict<IInput> *m_inputWidgets; + QDict< QList<IInput> > *m_dependencies; + QDict<QObject> *m_switches; +}; + +#endif |