diff options
Diffstat (limited to 'addon/doxywizard/doxywizard.h')
-rw-r--r-- | addon/doxywizard/doxywizard.h | 311 |
1 files changed, 53 insertions, 258 deletions
diff --git a/addon/doxywizard/doxywizard.h b/addon/doxywizard/doxywizard.h index 6e157b1..49e13cc 100644 --- a/addon/doxywizard/doxywizard.h +++ b/addon/doxywizard/doxywizard.h @@ -1,288 +1,83 @@ #ifndef DOXYWIZARD_H #define DOXYWIZARD_H -#include <qvbox.h> -#include <qtabdialog.h> -#include <qmainwindow.h> -#include <qsettings.h> -#include <qstringlist.h> +#include <QMainWindow> +#include <QSettings> +#include <QStringList> +class Expert; +class Wizard; +class QLabel; class QLineEdit; -class QCheckBox; class QPushButton; -class QComboBox; -class QButtonGroup; class QTextEdit; -class QLabel; +class QMenu; class QProcess; class QTimer; -class QPopupMenu; - -enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS }; -enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM }; -enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS }; -enum DiagramMode { DM_None, DM_Builtin, DM_Dot }; - -class Step1 : public QWidget -{ - Q_OBJECT - - public: - Step1(QWidget *parent); - - QString getProjectName() const; - QString getProjectNumber() const; - QString getSourceDir() const; - bool scanRecursively() const; - QString getDestinationDir() const; - - void setProjectName(const QString &name); - void setProjectNumber(const QString &num); - void setSourceDir(const QString &dir); - void setRecursiveScan(bool enable); - void setDestinationDir(const QString &dir); - - private slots: - void selectSourceDir(); - void selectDestinationDir(); - - private: - QLineEdit *m_projName; - QLineEdit *m_projNumber; - QLineEdit *m_sourceDir; - QLineEdit *m_destDir; - QCheckBox *m_recursive; - QPushButton *m_srcSelectDir; - QPushButton *m_dstSelectDir; -}; - -class Step2 : public QWidget -{ - public: - Step2(QWidget *parent); - bool crossReferencingEnabled() const; - void enableCrossReferencing(); - - bool extractAll() const; - bool crossReferencing() const; - OptLang optimizeFor() const; - - void setExtractAll(bool enable); - void setCrossReferencing(bool enable); - void setOptimizeFor(OptLang lang); - - private: - QButtonGroup *m_extractMode; - QButtonGroup *m_optimizeLang; - QCheckBox *m_crossRef; -}; - -class Step3 : public QWidget -{ - Q_OBJECT - - public: - Step3(QWidget *parent); - - bool htmlEnabled() const; - bool latexEnabled() const; - bool manEnabled() const; - bool rtfEnabled() const; - bool xmlEnabled() const; - bool searchEnabled() const; - HtmlStyle htmlStyle() const; - TexStyle texStyle() const; - - void setHtmlEnabled(bool); - void setLatexEnabled(bool); - void setManEnabled(bool); - void setRtfEnabled(bool); - void setXmlEnabled(bool); - void setSearchEnabled(bool); - void setHtmlStyle(HtmlStyle); - void setTexStyle(TexStyle); - - - private slots: - void latexStateChange(int state); - void htmlStateChange(int state); - - private: - QButtonGroup *m_texOptions; - QVBox *m_texOptionBox; - QButtonGroup *m_htmlOptions; - QVBox *m_htmlOptionBox; - QCheckBox *m_htmlEnabled; - QCheckBox *m_latexEnabled; - QCheckBox *m_manEnabled; - QCheckBox *m_rtfEnabled; - QCheckBox *m_xmlEnabled; - QCheckBox *m_searchEnabled; -}; - -class Step4 : public QWidget -{ - Q_OBJECT - - public: - Step4(QWidget *parent); - //void disableCallGraphs(); - //bool callGraphEnabled() const; - - DiagramMode diagramMode() const; - bool classDiagram() const; - bool collaborationDiagram() const; - bool includeGraph() const; - bool includedByGraph() const; - bool inheritanceGraph() const; - bool callGraph() const; - - void setDiagramMode(DiagramMode mode); - void setClassDiagram(bool enable); - void setCollaborationDiagram(bool enable); - void setIncludeGraph(bool enable); - void setIncludedByGraph(bool enable); - void setInheritanceGraph(bool enable); - void setCallGraph(bool enable); - - private slots: - void diagramModeChanged(int); - - private: - QButtonGroup *m_diagramMode; - QVBox *m_dotOptions; - QCheckBox *m_dotClass; - QCheckBox *m_dotCollaboration; - QCheckBox *m_dotInclude; - QCheckBox *m_dotIncludedBy; - QCheckBox *m_dotInheritance; - QCheckBox *m_dotCall; -}; -class Wizard : public QTabDialog +class MainWindow : public QMainWindow { Q_OBJECT public: - Wizard(QWidget *parent); - //void disableCallGraphs(); - - // step1 - QString getProjectName() const { return m_step1->getProjectName(); } - QString getProjectNumber() const { return m_step1->getProjectNumber(); } - QString getSourceDir() const { return m_step1->getSourceDir(); } - bool scanRecursively() const { return m_step1->scanRecursively(); } - QString getDestinationDir() const { return m_step1->getDestinationDir(); } - - void setProjectName(const QString &name) { m_step1->setProjectName(name); } - void setProjectNumber(const QString &num) { m_step1->setProjectNumber(num); } - void setSourceDir(const QString &dir) { m_step1->setSourceDir(dir); } - void setRecursiveScan(bool enable) { m_step1->setRecursiveScan(enable); } - void setDestinationDir(const QString &dir) { m_step1->setDestinationDir(dir); } - - // step2 - bool extractAll() const { return m_step2->extractAll(); } - bool crossReferencing() const { return m_step2->crossReferencing(); } - OptLang optimizeFor() const { return m_step2->optimizeFor(); } - - void setExtractAll(bool enable) { m_step2->setExtractAll(enable); } - void setCrossReferencing(bool enable) { m_step2->setCrossReferencing(enable); } - void setOptimizeFor(OptLang lang) { m_step2->setOptimizeFor(lang); } - - // step3 - bool htmlEnabled() const { return m_step3->htmlEnabled(); } - bool latexEnabled() const { return m_step3->latexEnabled(); } - bool manEnabled() const { return m_step3->manEnabled(); } - bool rtfEnabled() const { return m_step3->rtfEnabled(); } - bool xmlEnabled() const { return m_step3->xmlEnabled(); } - bool searchEnabled() const { return m_step3->searchEnabled(); } - HtmlStyle htmlStyle() const { return m_step3->htmlStyle(); } - TexStyle texStyle() const { return m_step3->texStyle(); } - - void setHtmlEnabled(bool enable) { m_step3->setHtmlEnabled(enable); } - void setLatexEnabled(bool enable) { m_step3->setLatexEnabled(enable); } - void setManEnabled(bool enable) { m_step3->setManEnabled(enable); } - void setRtfEnabled(bool enable) { m_step3->setRtfEnabled(enable); } - void setXmlEnabled(bool enable) { m_step3->setXmlEnabled(enable); } - void setSearchEnabled(bool enable) { m_step3->setSearchEnabled(enable); } - void setHtmlStyle(HtmlStyle style) { m_step3->setHtmlStyle(style); } - void setTexStyle(TexStyle style) { m_step3->setTexStyle(style); } - - // step4 - DiagramMode diagramMode() const { return m_step4->diagramMode(); } - bool classDiagram() const { return m_step4->classDiagram(); } - bool collaborationDiagram() const { return m_step4->collaborationDiagram(); } - bool includeGraph() const { return m_step4->includeGraph(); } - bool includedByGraph() const { return m_step4->includedByGraph(); } - bool inheritanceGraph() const { return m_step4->inheritanceGraph(); } - bool callGraph() const { return m_step4->callGraph(); } - - void setDiagramMode(DiagramMode mode) { m_step4->setDiagramMode(mode); } - void setClassDiagram(bool enable) { m_step4->setClassDiagram(enable); } - void setCollaborationDiagram(bool enable) { m_step4->setCollaborationDiagram(enable); } - void setIncludeGraph(bool enable) { m_step4->setIncludeGraph(enable); } - void setIncludedByGraph(bool enable) { m_step4->setIncludedByGraph(enable); } - void setInheritanceGraph(bool enable) { m_step4->setInheritanceGraph(enable); } - void setCallGraph(bool enable) { m_step4->setCallGraph(enable); } - - private: - Step1 *m_step1; - Step2 *m_step2; - Step3 *m_step3; - Step4 *m_step4; -}; - -class MainWidget : public QMainWindow -{ - Q_OBJECT - public: - MainWidget(QWidget *parent=0); - ~MainWidget(); - void loadConfigFromFile(const QString &); + static MainWindow &instance(); + void loadConfigFromFile(const QString &fileName); + void loadSettings(); + void saveSettings(); + void closeEvent(QCloseEvent *event); + QString configFileName() const { return m_fileName; } + void updateTitle(); + + public slots: + void manual(); + void about(); + void openConfig(); + bool saveConfig(); + bool saveConfigAs(); + void makeDefaults(); + void resetToDefaults(); + void selectTab(int); + void quit(); private slots: - void launchWizard(); - void launchExpert(); - void loadConfigFile(); + void openRecent(QAction *action); void selectWorkingDir(); - void updateRunnable(const QString &newDirName); - void saveDefaults(); - void saveConfigFile(); + void updateWorkingDir(); void runDoxygen(); void readStdout(); void runComplete(); - void about(); - void manual(); - void resetConfig(); - void openRecent(int); - void quit(); + void showHtmlOutput(); void saveLog(); + void showSettings(); + void configChanged(); private: - void setConfigSaved(bool); - void addRecentFile(const QString &); - - QPushButton *m_wizard; - QPushButton *m_expert; - QPushButton *m_load; - QPushButton *m_save; - QPushButton *m_defaults; - QLineEdit *m_workingDir; + MainWindow(); + void saveConfig(const QString &fileName); + void addRecentFile(const QString &fileName); + void updateConfigFileName(const QString &fileName); + void setWorkingDir(const QString &dirName); + void updateLaunchButtonState(); + bool discardUnsavedChanges(bool saveOption=true); + + QLineEdit *m_workingDir; QPushButton *m_selWorkingDir; QPushButton *m_run; QPushButton *m_saveLog; - QLabel *m_runStatus; - QProcess *m_runProcess; - QLabel *m_saveStatus; - QLabel *m_outputHeading; - QTextEdit *m_outputLog; - QTimer *m_timer; - QSettings m_settings; - QPopupMenu *m_recentMenu; - bool m_configSaved; + QPushButton *m_launchHtml; + QPushButton *m_launchPdf; + QTextEdit *m_outputLog; + QLabel *m_runStatus; + Expert *m_expert; + Wizard *m_wizard; + QString m_fileName; + QSettings m_settings; + QMenu *m_recentMenu; + QStringList m_recentFiles; + QProcess *m_runProcess; + QTimer *m_timer; bool m_running; - QString m_configFileName; - QStringList m_recentFiles; + bool m_modified; }; #endif |