|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef WIZARD_H
|
|
Packit |
1c1d7e |
#define WIZARD_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <QSplitter>
|
|
Packit |
1c1d7e |
#include <QHash>
|
|
Packit |
1c1d7e |
#include <QDialog>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Input;
|
|
Packit |
1c1d7e |
class QTreeWidget;
|
|
Packit |
1c1d7e |
class QTreeWidgetItem;
|
|
Packit |
1c1d7e |
class QStackedWidget;
|
|
Packit |
1c1d7e |
class QCheckBox;
|
|
Packit |
1c1d7e |
class QLineEdit;
|
|
Packit |
1c1d7e |
class QPushButton;
|
|
Packit |
1c1d7e |
class QRadioButton;
|
|
Packit |
1c1d7e |
class QGroupBox;
|
|
Packit |
1c1d7e |
class QButtonGroup;
|
|
Packit |
1c1d7e |
class Wizard;
|
|
Packit |
1c1d7e |
class QImage;
|
|
Packit |
1c1d7e |
class QLabel;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS };
|
|
Packit |
1c1d7e |
enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM };
|
|
Packit |
1c1d7e |
enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS };
|
|
Packit |
1c1d7e |
enum DiagramMode { DM_None, DM_Builtin, DM_Dot };
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class TuneColorDialog : public QDialog
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
TuneColorDialog(int hue,int sat,int gamma,QWidget *parent=0);
|
|
Packit |
1c1d7e |
int getHue() const;
|
|
Packit |
1c1d7e |
int getSaturation() const;
|
|
Packit |
1c1d7e |
int getGamma() const;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void updateImage(int hue,int sat,int val);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QImage *m_image;
|
|
Packit |
1c1d7e |
QLabel *m_imageLab;
|
|
Packit |
1c1d7e |
int m_hue;
|
|
Packit |
1c1d7e |
int m_sat;
|
|
Packit |
1c1d7e |
int m_gam;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class ColorPicker : public QWidget
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
enum Mode { Hue, Saturation, Gamma };
|
|
Packit |
1c1d7e |
ColorPicker(Mode m);
|
|
Packit |
1c1d7e |
~ColorPicker();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public slots:
|
|
Packit |
1c1d7e |
void setCol(int h, int s, int g);
|
|
Packit |
1c1d7e |
//void setCol(int h, int s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
signals:
|
|
Packit |
1c1d7e |
void newHsv(int h, int s, int g);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
protected:
|
|
Packit |
1c1d7e |
void paintEvent(QPaintEvent*);
|
|
Packit |
1c1d7e |
void mouseMoveEvent(QMouseEvent *);
|
|
Packit |
1c1d7e |
void mousePressEvent(QMouseEvent *);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
enum { foff = 3, coff = 4 }; //frame and contents offset
|
|
Packit |
1c1d7e |
int y2hue(int y);
|
|
Packit |
1c1d7e |
int y2sat(int y);
|
|
Packit |
1c1d7e |
int y2gam(int y);
|
|
Packit |
1c1d7e |
int hue2y(int hue);
|
|
Packit |
1c1d7e |
int sat2y(int sat);
|
|
Packit |
1c1d7e |
int gam2y(int gamma);
|
|
Packit |
1c1d7e |
void setHue(int v);
|
|
Packit |
1c1d7e |
void setSat(int v);
|
|
Packit |
1c1d7e |
void setGam(int v);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QPixmap *m_pix;
|
|
Packit |
1c1d7e |
Mode m_mode;
|
|
Packit |
1c1d7e |
int m_gam;
|
|
Packit |
1c1d7e |
int m_hue;
|
|
Packit |
1c1d7e |
int m_sat;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Step1 : public QWidget
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Step1(Wizard *parent,const QHash<QString,Input*> &modelData);
|
|
Packit |
1c1d7e |
void init();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void selectSourceDir();
|
|
Packit |
1c1d7e |
void selectDestinationDir();
|
|
Packit |
1c1d7e |
void selectProjectIcon();
|
|
Packit |
1c1d7e |
void setProjectName(const QString &name);
|
|
Packit |
1c1d7e |
void setProjectBrief(const QString &desc);
|
|
Packit |
1c1d7e |
void setProjectNumber(const QString &num);
|
|
Packit |
1c1d7e |
void setSourceDir(const QString &dir;;
|
|
Packit |
1c1d7e |
void setDestinationDir(const QString &dir;;
|
|
Packit |
1c1d7e |
void setRecursiveScan(int);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QLineEdit *m_projName;
|
|
Packit |
1c1d7e |
QLineEdit *m_projBrief;
|
|
Packit |
1c1d7e |
QLineEdit *m_projNumber;
|
|
Packit |
1c1d7e |
QLineEdit *m_sourceDir;
|
|
Packit |
1c1d7e |
QLineEdit *m_destDir;
|
|
Packit |
1c1d7e |
QLabel *m_projIconLab;
|
|
Packit |
1c1d7e |
QCheckBox *m_recursive;
|
|
Packit |
1c1d7e |
QPushButton *m_srcSelectDir;
|
|
Packit |
1c1d7e |
QPushButton *m_dstSelectDir;
|
|
Packit |
1c1d7e |
Wizard *m_wizard;
|
|
Packit |
1c1d7e |
const QHash<QString,Input *> &m_modelData;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Step2 : public QWidget
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Step2(Wizard *parent,const QHash<QString,Input*> &modelData);
|
|
Packit |
1c1d7e |
void init();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void optimizeFor(int choice);
|
|
Packit |
1c1d7e |
void extractMode(int choice);
|
|
Packit |
1c1d7e |
void changeCrossRefState(int choice);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QGroupBox *m_extractMode;
|
|
Packit |
1c1d7e |
QGroupBox *m_optimizeLang;
|
|
Packit |
1c1d7e |
QButtonGroup *m_extractModeGroup;
|
|
Packit |
1c1d7e |
QButtonGroup *m_optimizeLangGroup;
|
|
Packit |
1c1d7e |
QCheckBox *m_crossRef;
|
|
Packit |
1c1d7e |
Wizard *m_wizard;
|
|
Packit |
1c1d7e |
const QHash<QString,Input *> &m_modelData;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Step3 : public QWidget
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Step3(Wizard *parent,const QHash<QString,Input*> &modelData);
|
|
Packit |
1c1d7e |
void init();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void setHtmlEnabled(bool);
|
|
Packit |
1c1d7e |
void setLatexEnabled(bool);
|
|
Packit |
1c1d7e |
void setManEnabled(int);
|
|
Packit |
1c1d7e |
void setRtfEnabled(int);
|
|
Packit |
1c1d7e |
void setXmlEnabled(int);
|
|
Packit |
1c1d7e |
void setSearchEnabled(int);
|
|
Packit |
1c1d7e |
void setHtmlOptions(int);
|
|
Packit |
1c1d7e |
void setLatexOptions(int);
|
|
Packit |
1c1d7e |
void tuneColorDialog();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QGroupBox *m_texOptions;
|
|
Packit |
1c1d7e |
QButtonGroup *m_texOptionsGroup;
|
|
Packit |
1c1d7e |
QGroupBox *m_htmlOptions;
|
|
Packit |
1c1d7e |
QButtonGroup *m_htmlOptionsGroup;
|
|
Packit |
1c1d7e |
QCheckBox *m_htmlEnabled;
|
|
Packit |
1c1d7e |
QCheckBox *m_latexEnabled;
|
|
Packit |
1c1d7e |
QCheckBox *m_manEnabled;
|
|
Packit |
1c1d7e |
QCheckBox *m_rtfEnabled;
|
|
Packit |
1c1d7e |
QCheckBox *m_xmlEnabled;
|
|
Packit |
1c1d7e |
QCheckBox *m_searchEnabled;
|
|
Packit |
1c1d7e |
QPushButton *m_tuneColor;
|
|
Packit |
1c1d7e |
Wizard *m_wizard;
|
|
Packit |
1c1d7e |
const QHash<QString,Input *> &m_modelData;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Step4 : public QWidget
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Step4(Wizard *parent,const QHash<QString,Input*> &modelData);
|
|
Packit |
1c1d7e |
void init();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void diagramModeChanged(int);
|
|
Packit |
1c1d7e |
void setClassGraphEnabled(int state);
|
|
Packit |
1c1d7e |
void setCollaborationGraphEnabled(int state);
|
|
Packit |
1c1d7e |
void setGraphicalHierarchyEnabled(int state);
|
|
Packit |
1c1d7e |
void setIncludeGraphEnabled(int state);
|
|
Packit |
1c1d7e |
void setIncludedByGraphEnabled(int state);
|
|
Packit |
1c1d7e |
void setCallGraphEnabled(int state);
|
|
Packit |
1c1d7e |
void setCallerGraphEnabled(int state);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QGroupBox *m_diagramMode;
|
|
Packit |
1c1d7e |
QButtonGroup *m_diagramModeGroup;
|
|
Packit |
1c1d7e |
QGroupBox *m_dotGroup;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotClass;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotCollaboration;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotInclude;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotIncludedBy;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotInheritance;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotCall;
|
|
Packit |
1c1d7e |
QCheckBox *m_dotCaller;
|
|
Packit |
1c1d7e |
Wizard *m_wizard;
|
|
Packit |
1c1d7e |
const QHash<QString,Input *> &m_modelData;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Wizard : public QSplitter
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
Wizard(const QHash<QString,Input*> &modelData, QWidget *parent=0);
|
|
Packit |
1c1d7e |
~Wizard();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public slots:
|
|
Packit |
1c1d7e |
void refresh();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *);
|
|
Packit |
1c1d7e |
void nextTopic();
|
|
Packit |
1c1d7e |
void prevTopic();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
signals:
|
|
Packit |
1c1d7e |
void done();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
const QHash<QString,Input *> &m_modelData;
|
|
Packit |
1c1d7e |
QTreeWidget *m_treeWidget;
|
|
Packit |
1c1d7e |
QStackedWidget *m_topicStack;
|
|
Packit |
1c1d7e |
Step1 *m_step1;
|
|
Packit |
1c1d7e |
Step2 *m_step2;
|
|
Packit |
1c1d7e |
Step3 *m_step3;
|
|
Packit |
1c1d7e |
Step4 *m_step4;
|
|
Packit |
1c1d7e |
QPushButton *m_next;
|
|
Packit |
1c1d7e |
QPushButton *m_prev;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|