diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2008-12-06 16:00:07 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2008-12-06 16:00:07 (GMT) |
commit | 752d21c112291e2a2e3bfa82a915b3c091965bfb (patch) | |
tree | 76ffc77ee3c3548adca2711a1ad2ba2d0595ae70 /addon/doxywizard/expert.h | |
parent | b35a84b39214af8340a75ea086df299a2c3343e3 (diff) | |
download | Doxygen-752d21c112291e2a2e3bfa82a915b3c091965bfb.zip Doxygen-752d21c112291e2a2e3bfa82a915b3c091965bfb.tar.gz Doxygen-752d21c112291e2a2e3bfa82a915b3c091965bfb.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 |