1 /******************************************************************************
5 * Copyright (C) 1997-2014 by Dimitri van Heesch.
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation under the terms of the GNU General Public License is hereby
9 * granted. No representations are made about the suitability of this software
10 * for any purpose. It is provided "as is" without express or implied warranty.
11 * See the GNU General Public License for more details.
24 class QTreeWidgetItem;
36 enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS };
37 enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM };
38 enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS };
39 enum DiagramMode { DM_None, DM_Builtin, DM_Dot };
41 class TuneColorDialog : public QDialog
46 TuneColorDialog(int hue,int sat,int gamma,QWidget *parent=0);
48 int getSaturation() const;
52 void updateImage(int hue,int sat,int val);
62 class ColorPicker : public QWidget
66 enum Mode { Hue, Saturation, Gamma };
71 void setCol(int h, int s, int g);
72 //void setCol(int h, int s);
75 void newHsv(int h, int s, int g);
78 void paintEvent(QPaintEvent*);
79 void mouseMoveEvent(QMouseEvent *);
80 void mousePressEvent(QMouseEvent *);
83 enum { foff = 3, coff = 4 }; //frame and contents offset
103 class Step1 : public QWidget
108 Step1(Wizard *parent,const QHash<QString,Input*> &modelData);
112 void selectSourceDir();
113 void selectDestinationDir();
114 void selectProjectIcon();
115 void setProjectName(const QString &name);
116 void setProjectBrief(const QString &desc);
117 void setProjectNumber(const QString &num);
118 void setSourceDir(const QString &dir);
119 void setDestinationDir(const QString &dir);
120 void setRecursiveScan(int);
123 QLineEdit *m_projName;
124 QLineEdit *m_projBrief;
125 QLineEdit *m_projNumber;
126 QLineEdit *m_sourceDir;
127 QLineEdit *m_destDir;
128 QLabel *m_projIconLab;
129 QCheckBox *m_recursive;
130 QPushButton *m_srcSelectDir;
131 QPushButton *m_dstSelectDir;
133 const QHash<QString,Input *> &m_modelData;
136 class Step2 : public QWidget
140 Step2(Wizard *parent,const QHash<QString,Input*> &modelData);
144 void optimizeFor(int choice);
145 void extractMode(int choice);
146 void changeCrossRefState(int choice);
149 QGroupBox *m_extractMode;
150 QGroupBox *m_optimizeLang;
151 QButtonGroup *m_extractModeGroup;
152 QButtonGroup *m_optimizeLangGroup;
153 QCheckBox *m_crossRef;
155 const QHash<QString,Input *> &m_modelData;
158 class Step3 : public QWidget
163 Step3(Wizard *parent,const QHash<QString,Input*> &modelData);
167 void setHtmlEnabled(bool);
168 void setLatexEnabled(bool);
169 void setManEnabled(int);
170 void setRtfEnabled(int);
171 void setXmlEnabled(int);
172 void setSearchEnabled(int);
173 void setHtmlOptions(int);
174 void setLatexOptions(int);
175 void tuneColorDialog();
178 QGroupBox *m_texOptions;
179 QButtonGroup *m_texOptionsGroup;
180 QGroupBox *m_htmlOptions;
181 QButtonGroup *m_htmlOptionsGroup;
182 QCheckBox *m_htmlEnabled;
183 QCheckBox *m_latexEnabled;
184 QCheckBox *m_manEnabled;
185 QCheckBox *m_rtfEnabled;
186 QCheckBox *m_xmlEnabled;
187 QCheckBox *m_searchEnabled;
188 QPushButton *m_tuneColor;
190 const QHash<QString,Input *> &m_modelData;
193 class Step4 : public QWidget
198 Step4(Wizard *parent,const QHash<QString,Input*> &modelData);
202 void diagramModeChanged(int);
203 void setClassGraphEnabled(int state);
204 void setCollaborationGraphEnabled(int state);
205 void setGraphicalHierarchyEnabled(int state);
206 void setIncludeGraphEnabled(int state);
207 void setIncludedByGraphEnabled(int state);
208 void setCallGraphEnabled(int state);
209 void setCallerGraphEnabled(int state);
212 QGroupBox *m_diagramMode;
213 QButtonGroup *m_diagramModeGroup;
214 QGroupBox *m_dotGroup;
215 QCheckBox *m_dotClass;
216 QCheckBox *m_dotCollaboration;
217 QCheckBox *m_dotInclude;
218 QCheckBox *m_dotIncludedBy;
219 QCheckBox *m_dotInheritance;
220 QCheckBox *m_dotCall;
221 QCheckBox *m_dotCaller;
223 const QHash<QString,Input *> &m_modelData;
226 class Wizard : public QSplitter
230 Wizard(const QHash<QString,Input*> &modelData, QWidget *parent=0);
237 void activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *);
245 const QHash<QString,Input *> &m_modelData;
246 QTreeWidget *m_treeWidget;
247 QStackedWidget *m_topicStack;