summaryrefslogtreecommitdiffstats
path: root/addon/doxywizard/expert.h
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxywizard/expert.h')
-rw-r--r--addon/doxywizard/expert.h114
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