diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2008-12-06 16:00:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2008-12-06 16:00:07 (GMT) |
commit | b2ff175fbaa113d17cc8c0873220580df1887b97 (patch) | |
tree | 76ffc77ee3c3548adca2711a1ad2ba2d0595ae70 /addon/doxywizard/expert.h | |
parent | 78a0accf99eacf0a620cfad40c003be3be7bcd97 (diff) | |
download | Doxygen-b2ff175fbaa113d17cc8c0873220580df1887b97.zip Doxygen-b2ff175fbaa113d17cc8c0873220580df1887b97.tar.gz Doxygen-b2ff175fbaa113d17cc8c0873220580df1887b97.tar.bz2 |
Release-1.5.7.1-20081206
Diffstat (limited to 'addon/doxywizard/expert.h')
-rw-r--r-- | addon/doxywizard/expert.h | 114 |
1 files changed, 48 insertions, 66 deletions
diff --git a/addon/doxywizard/expert.h b/addon/doxywizard/expert.h index 7c92b4c..3372ae6 100644 --- a/addon/doxywizard/expert.h +++ b/addon/doxywizard/expert.h @@ -1,82 +1,64 @@ -/****************************************************************************** - * - * - * - * Copyright (C) 1997-2008 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; +#include <QSplitter> +#include <QDomElement> +#include <QHash> -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 QTreeWidget; +class QTreeWidgetItem; +class QStackedWidget; +class QSettings; +class QTextEdit; +class QTextCodec; +class QPushButton; +class Input; -class Expert : public QTabDialog +class Expert : public QSplitter { - Q_OBJECT + Q_OBJECT public: - Expert(QWidget *parent=0); - ~Expert(); - void init(); - void addDependency(QDict<QObject> *switches, - const QCString &dep,const QCString &name); - bool hasChanged() const { return m_changed; } + Expert(); + ~Expert(); + void loadSettings(QSettings *); + void saveSettings(QSettings *); + void loadConfig(const QString &fileName); + bool writeConfig(QTextStream &t,bool brief); + QByteArray saveInnerState () const; + bool restoreInnerState ( const QByteArray & state ); + const QHash<QString,Input*> &modelData() const { return m_options; } + void resetToDefaults(); + bool htmlOutputPresent(const QString &workingDir) const; + bool pdfOutputPresent(const QString &workingDir) const; + QString getHtmlOutputIndex(const QString &workingDir) const; + + public slots: + void activateTopic(QTreeWidgetItem *,QTreeWidgetItem *); + QWidget *createTopicWidget(QDomElement &elem); private slots: - void toggle(const char *,bool); - void handleHelp(); + void showHelp(Input *); + void nextTopic(); + void prevTopic(); + + signals: void changed(); private: - QDict<IInput> *m_inputWidgets; - QDict< QList<IInput> > *m_dependencies; - QDict<QObject> *m_switches; - bool m_changed; + void createTopics(const QDomElement &); + void saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,bool brief); + + QSplitter *m_splitter; + QTextEdit *m_helper; + QTreeWidget *m_treeWidget; + QStackedWidget *m_topicStack; + QHash<QString,QWidget *> m_topics; + QHash<QString,QObject *> m_optionWidgets; + QHash<QString,Input *> m_options; + QPushButton *m_next; + QPushButton *m_prev; + QDomElement m_rootElement; }; #endif |