summaryrefslogtreecommitdiffstats
path: root/addon/doxywizard
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxywizard')
-rw-r--r--addon/doxywizard/CMakeLists.txt25
-rwxr-xr-xaddon/doxywizard/doxywizard.cpp29
-rwxr-xr-xaddon/doxywizard/doxywizard.h2
-rw-r--r--addon/doxywizard/expert.cpp44
-rw-r--r--addon/doxywizard/expert.h4
-rw-r--r--addon/doxywizard/input.h1
-rw-r--r--addon/doxywizard/inputbool.cpp5
-rw-r--r--addon/doxywizard/inputbool.h1
-rw-r--r--addon/doxywizard/inputint.cpp5
-rw-r--r--addon/doxywizard/inputint.h1
-rw-r--r--addon/doxywizard/inputstring.cpp5
-rw-r--r--addon/doxywizard/inputstring.h1
-rw-r--r--addon/doxywizard/inputstrlist.cpp5
-rw-r--r--addon/doxywizard/inputstrlist.h1
-rwxr-xr-x[-rw-r--r--]addon/doxywizard/wizard.cpp102
-rw-r--r--addon/doxywizard/wizard.h2
16 files changed, 165 insertions, 68 deletions
diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
index 6aacd8b..1ee8ed5 100644
--- a/addon/doxywizard/CMakeLists.txt
+++ b/addon/doxywizard/CMakeLists.txt
@@ -29,10 +29,10 @@ if (NOT Qt5Core_FOUND)
endif()
include_directories(
- .
- ${CMAKE_SOURCE_DIR}/libversion
- ${CMAKE_SOURCE_DIR}/qtools
- ${GENERATED_SRC}
+ .
+ ${PROJECT_SOURCE_DIR}/libversion
+ ${PROJECT_SOURCE_DIR}/qtools
+ ${GENERATED_SRC}
)
set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
@@ -58,25 +58,26 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
# generate version.cpp
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
- DEPENDS ${CMAKE_SOURCE_DIR}/VERSION ${CMAKE_SOURCE_DIR}/src/version.py
+ COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
+ DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py
OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
)
set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENERATED 1)
# generate configdoc.cpp
add_custom_command(
-COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
-OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml
+ OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
)
set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
-set(LEX_FILES config_doxyw)
+set(LEX_FILES config_doxyw)
foreach(lex_file ${LEX_FILES})
add_custom_command(
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
- DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
- OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
+ OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
)
set_source_files_properties(${GENERATED_SRC_WIZARD}/${lex_file}.l.h PROPERTIES GENERATED 1)
diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp
index ce22367..db4e6fb 100755
--- a/addon/doxywizard/doxywizard.cpp
+++ b/addon/doxywizard/doxywizard.cpp
@@ -107,9 +107,17 @@ MainWindow::MainWindow()
m_saveLog = new QPushButton(tr("Save log..."));
m_saveLog->setEnabled(false);
QPushButton *showSettings = new QPushButton(tr("Show configuration"));
+ QPushButton *showCondensedSettings = new QPushButton(tr("Show condensed configuration"));
+ // select extra run options
+ m_runOptions = new QLineEdit;
+
+ runTabLayout->addWidget(new QLabel(tr("Step 3: Specify (optional) options for running doxygen")));
+ runTabLayout->addWidget(m_runOptions);
+
runLayout->addWidget(m_run);
runLayout->addWidget(m_runStatus);
runLayout->addStretch(1);
+ runLayout->addWidget(showCondensedSettings);
runLayout->addWidget(showSettings);
runLayout->addWidget(m_saveLog);
@@ -162,6 +170,7 @@ MainWindow::MainWindow()
connect(m_run,SIGNAL(clicked()),SLOT(runDoxygen()));
connect(m_launchHtml,SIGNAL(clicked()),SLOT(showHtmlOutput()));
connect(m_saveLog,SIGNAL(clicked()),SLOT(saveLog()));
+ connect(showCondensedSettings,SIGNAL(clicked()),SLOT(showCondensedSettings()));
connect(showSettings,SIGNAL(clicked()),SLOT(showSettings()));
connect(m_expert,SIGNAL(changed()),SLOT(configChanged()));
connect(m_wizard,SIGNAL(done()),SLOT(selectRunTab()));
@@ -288,7 +297,7 @@ void MainWindow::saveConfig(const QString &fileName)
return;
}
QTextStream t(&f);
- m_expert->writeConfig(t,false);
+ m_expert->writeConfig(t,false,false);
updateConfigFileName(fileName);
m_modified = false;
updateTitle();
@@ -498,6 +507,9 @@ void MainWindow::runDoxygen()
m_runProcess->setEnvironment(env);
QStringList args;
+ QStringList runOptions = m_runOptions->text().split(QLatin1Char(' '),QString::SkipEmptyParts);
+
+ args << runOptions;
args << QString::fromLatin1("-b"); // make stdout unbuffered
args << QString::fromLatin1("-"); // read config from stdin
@@ -511,7 +523,7 @@ void MainWindow::runDoxygen()
return;
}
QTextStream t(m_runProcess);
- m_expert->writeConfig(t,false);
+ m_expert->writeConfig(t,false,false);
m_runProcess->closeWriteChannel();
if (m_runProcess->state() == QProcess::NotRunning)
@@ -625,7 +637,18 @@ void MainWindow::showSettings()
{
QString text;
QTextStream t(&text);
- m_expert->writeConfig(t,true);
+ m_expert->writeConfig(t,true,false);
+ m_outputLog->clear();
+ m_outputLog->append(APPQT(text));
+ m_outputLog->ensureCursorVisible();
+ m_saveLog->setEnabled(true);
+}
+
+void MainWindow::showCondensedSettings()
+{
+ QString text;
+ QTextStream t(&text);
+ m_expert->writeConfig(t,true,true);
m_outputLog->clear();
m_outputLog->append(APPQT(text));
m_outputLog->ensureCursorVisible();
diff --git a/addon/doxywizard/doxywizard.h b/addon/doxywizard/doxywizard.h
index c64941e..f976a98 100755
--- a/addon/doxywizard/doxywizard.h
+++ b/addon/doxywizard/doxywizard.h
@@ -61,6 +61,7 @@ class MainWindow : public QMainWindow
void runComplete();
void showHtmlOutput();
void saveLog();
+ void showCondensedSettings();
void showSettings();
void configChanged();
void clearRecent();
@@ -78,6 +79,7 @@ class MainWindow : public QMainWindow
bool discardUnsavedChanges(bool saveOption=true);
QLineEdit *m_workingDir;
+ QLineEdit *m_runOptions;
QPushButton *m_selWorkingDir;
QPushButton *m_run;
QPushButton *m_saveLog;
diff --git a/addon/doxywizard/expert.cpp b/addon/doxywizard/expert.cpp
index c043994..170959f 100644
--- a/addon/doxywizard/expert.cpp
+++ b/addon/doxywizard/expert.cpp
@@ -139,10 +139,14 @@ void Expert::createTopics(const QDomElement &rootElem)
{
// Remove _ from a group name like: Source_Browser
QString name = childElem.attribute(SA("name")).replace(SA("_"),SA(" "));
- items.append(new QTreeWidgetItem((QTreeWidget*)0,QStringList(name)));
- QWidget *widget = createTopicWidget(childElem);
- m_topics[name] = widget;
- m_topicStack->addWidget(widget);
+ QString setting = childElem.attribute(SA("setting"));
+ if (setting.isEmpty() || IS_SUPPORTED(setting.toLatin1()))
+ {
+ items.append(new QTreeWidgetItem((QTreeWidget*)0,QStringList(name)));
+ QWidget *widget = createTopicWidget(childElem);
+ m_topics[name] = widget;
+ m_topicStack->addWidget(widget);
+ }
}
childElem = childElem.nextSiblingElement();
}
@@ -752,15 +756,18 @@ void Expert::loadConfig(const QString &fileName)
}
void Expert::saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,
- bool brief)
+ bool brief,bool condensed)
{
if (!brief)
{
t << endl;
}
- t << "#---------------------------------------------------------------------------" << endl;
- t << "# " << elem.attribute(SA("docs")) << endl;
- t << "#---------------------------------------------------------------------------" << endl;
+ if (!condensed)
+ {
+ t << "#---------------------------------------------------------------------------" << endl;
+ t << "# " << elem.attribute(SA("docs")) << endl;
+ t << "#---------------------------------------------------------------------------" << endl;
+ }
// write options...
QDomElement childElem = elem.firstChildElement();
while (!childElem.isNull())
@@ -780,24 +787,29 @@ void Expert::saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,
t << convertToComment(option->templateDocs());
t << endl;
}
- t << name.leftJustified(MAX_OPTION_LENGTH) << "=";
- if (option && !option->isEmpty())
+ bool toPrint = true;
+ if (option && condensed) toPrint = !option->isDefault();
+ if (toPrint)
{
- t << " ";
- option->writeValue(t,codec);
+ t << name.leftJustified(MAX_OPTION_LENGTH) << "=";
+ if (option && !option->isEmpty())
+ {
+ t << " ";
+ option->writeValue(t,codec);
+ }
+ t << endl;
}
- t << endl;
}
}
childElem = childElem.nextSiblingElement();
}
}
-bool Expert::writeConfig(QTextStream &t,bool brief)
+bool Expert::writeConfig(QTextStream &t,bool brief, bool condensed)
{
// write global header
t << "# Doxyfile " << getDoxygenVersion() << endl << endl;
- if (!brief)
+ if (!brief && !condensed)
{
t << convertToComment(m_header);
}
@@ -817,7 +829,7 @@ bool Expert::writeConfig(QTextStream &t,bool brief)
{
if (childElem.tagName()==SA("group"))
{
- saveTopic(t,childElem,codec,brief);
+ saveTopic(t,childElem,codec,brief,condensed);
}
childElem = childElem.nextSiblingElement();
}
diff --git a/addon/doxywizard/expert.h b/addon/doxywizard/expert.h
index f58ef62..7011eb4 100644
--- a/addon/doxywizard/expert.h
+++ b/addon/doxywizard/expert.h
@@ -38,7 +38,7 @@ class Expert : public QSplitter, public DocIntf
void loadSettings(QSettings *);
void saveSettings(QSettings *);
void loadConfig(const QString &fileName);
- bool writeConfig(QTextStream &t,bool brief);
+ bool writeConfig(QTextStream &t,bool brief,bool condensed);
QByteArray saveInnerState () const;
bool restoreInnerState ( const QByteArray & state );
const QHash<QString,Input*> &modelData() const { return m_options; }
@@ -67,7 +67,7 @@ class Expert : public QSplitter, public DocIntf
private:
void createTopics(const QDomElement &);
- void saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,bool brief);
+ void saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,bool brief,bool dondensed);
QSplitter *m_splitter;
QTextBrowser *m_helper;
diff --git a/addon/doxywizard/input.h b/addon/doxywizard/input.h
index ff8339a..c1815d0 100644
--- a/addon/doxywizard/input.h
+++ b/addon/doxywizard/input.h
@@ -40,6 +40,7 @@ class Input
virtual void setEnabled(bool) = 0;
virtual void updateDependencies() = 0;
virtual void reset() = 0;
+ virtual bool isDefault() = 0;
virtual void writeValue(QTextStream &t,QTextCodec *codec) = 0;
virtual void setTemplateDocs(const QString &docs) = 0;
virtual bool isEmpty() { return false; };
diff --git a/addon/doxywizard/inputbool.cpp b/addon/doxywizard/inputbool.cpp
index 63d9998..3c917a8 100644
--- a/addon/doxywizard/inputbool.cpp
+++ b/addon/doxywizard/inputbool.cpp
@@ -112,3 +112,8 @@ void InputBool::writeValue(QTextStream &t,QTextCodec *codec)
t << codec->fromUnicode(QString::fromLatin1("NO"));
}
+bool InputBool::isDefault()
+{
+ return m_state == m_default;
+}
+
diff --git a/addon/doxywizard/inputbool.h b/addon/doxywizard/inputbool.h
index 98f7f85..a527e20 100644
--- a/addon/doxywizard/inputbool.h
+++ b/addon/doxywizard/inputbool.h
@@ -38,6 +38,7 @@ class InputBool : public QObject, public Input
void addDependency(Input *option) { m_dependencies+=option; }
void setEnabled(bool);
void updateDependencies();
+ bool isDefault();
void writeValue(QTextStream &t,QTextCodec *codec);
void setTemplateDocs(const QString &docs) { m_tdocs = docs; }
diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp
index 2aa019b..bcba86a 100644
--- a/addon/doxywizard/inputint.cpp
+++ b/addon/doxywizard/inputint.cpp
@@ -112,3 +112,8 @@ void InputInt::writeValue(QTextStream &t,QTextCodec *)
t << m_val;
}
+
+bool InputInt::isDefault()
+{
+ return m_val == m_default;
+}
diff --git a/addon/doxywizard/inputint.h b/addon/doxywizard/inputint.h
index 10d735e..60d4415 100644
--- a/addon/doxywizard/inputint.h
+++ b/addon/doxywizard/inputint.h
@@ -41,6 +41,7 @@ class InputInt : public QObject, public Input
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool);
void updateDependencies() {}
+ bool isDefault();
void writeValue(QTextStream &t,QTextCodec *codec);
void setTemplateDocs(const QString &docs) { m_tdocs = docs; }
diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp
index 2f81b5b..e7a2b5b 100644
--- a/addon/doxywizard/inputstring.cpp
+++ b/addon/doxywizard/inputstring.cpp
@@ -253,6 +253,11 @@ void InputString::writeValue(QTextStream &t,QTextCodec *codec)
writeStringValue(t,codec,m_str);
}
+bool InputString::isDefault()
+{
+ return m_str == m_default;
+}
+
QString InputString::checkEnumVal(const QString &value)
{
QString val = value.trimmed().toLower();
diff --git a/addon/doxywizard/inputstring.h b/addon/doxywizard/inputstring.h
index 1520584..c22d7a3 100644
--- a/addon/doxywizard/inputstring.h
+++ b/addon/doxywizard/inputstring.h
@@ -57,6 +57,7 @@ class InputString : public QObject, public Input
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool);
void updateDependencies() {}
+ bool isDefault();
void writeValue(QTextStream &t,QTextCodec *codec);
void setTemplateDocs(const QString &docs) { m_tdocs = docs; }
bool isEmpty() { return m_str.isEmpty(); }
diff --git a/addon/doxywizard/inputstrlist.cpp b/addon/doxywizard/inputstrlist.cpp
index dd1ecb2..814104b 100644
--- a/addon/doxywizard/inputstrlist.cpp
+++ b/addon/doxywizard/inputstrlist.cpp
@@ -258,6 +258,11 @@ void InputStrList::writeValue(QTextStream &t,QTextCodec *codec)
}
}
+bool InputStrList::isDefault()
+{
+ return m_strList==m_default;
+}
+
bool InputStrList::isEmpty()
{
foreach (QString s, m_strList)
diff --git a/addon/doxywizard/inputstrlist.h b/addon/doxywizard/inputstrlist.h
index adb0fb0..d2e713d 100644
--- a/addon/doxywizard/inputstrlist.h
+++ b/addon/doxywizard/inputstrlist.h
@@ -51,6 +51,7 @@ class InputStrList : public QObject, public Input
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool);
void updateDependencies() {}
+ bool isDefault();
void writeValue(QTextStream &t,QTextCodec *codec);
void setTemplateDocs(const QString &docs) { m_tdocs = docs; }
bool isEmpty();
diff --git a/addon/doxywizard/wizard.cpp b/addon/doxywizard/wizard.cpp
index c3c1b57..6be752f 100644..100755
--- a/addon/doxywizard/wizard.cpp
+++ b/addon/doxywizard/wizard.cpp
@@ -3,8 +3,8 @@
* Copyright (C) 1997-2019 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
+ * 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.
*
@@ -47,6 +47,7 @@
#define STR_OPTIMIZE_OUTPUT_JAVA QString::fromLatin1("OPTIMIZE_OUTPUT_JAVA")
#define STR_OPTIMIZE_FOR_FORTRAN QString::fromLatin1("OPTIMIZE_FOR_FORTRAN")
#define STR_OPTIMIZE_OUTPUT_VHDL QString::fromLatin1("OPTIMIZE_OUTPUT_VHDL")
+#define STR_OPTIMIZE_OUTPUT_SLICE QString::fromLatin1("OPTIMIZE_OUTPUT_SLICE")
#define STR_CPP_CLI_SUPPORT QString::fromLatin1("CPP_CLI_SUPPORT")
#define STR_HIDE_SCOPE_NAMES QString::fromLatin1("HIDE_SCOPE_NAMES")
#define STR_EXTRACT_ALL QString::fromLatin1("EXTRACT_ALL")
@@ -56,6 +57,7 @@
#define STR_GENERATE_MAN QString::fromLatin1("GENERATE_MAN")
#define STR_GENERATE_RTF QString::fromLatin1("GENERATE_RTF")
#define STR_GENERATE_XML QString::fromLatin1("GENERATE_XML")
+#define STR_GENERATE_DOCBOOK QString::fromLatin1("GENERATE_DOCBOOK")
#define STR_GENERATE_HTMLHELP QString::fromLatin1("GENERATE_HTMLHELP")
#define STR_GENERATE_TREEVIEW QString::fromLatin1("GENERATE_TREEVIEW")
#define STR_USE_PDFLATEX QString::fromLatin1("USE_PDFLATEX")
@@ -74,7 +76,7 @@
#define STR_HTML_COLORSTYLE_SAT QString::fromLatin1("HTML_COLORSTYLE_SAT")
#define STR_HTML_COLORSTYLE_GAMMA QString::fromLatin1("HTML_COLORSTYLE_GAMMA")
-static bool g_optimizeMapping[6][6] =
+static bool g_optimizeMapping[7][7] =
{
// A: OPTIMIZE_OUTPUT_FOR_C
// B: OPTIMIZE_OUTPUT_JAVA
@@ -82,23 +84,26 @@ static bool g_optimizeMapping[6][6] =
// D: OPTIMIZE_OUTPUT_VHDL
// E: CPP_CLI_SUPPORT
// F: HIDE_SCOPE_NAMES
- // A B C D E F
- { false,false,false,false,false,false }, // 0: C++
- { false,false,false,false,true, false }, // 1: C++/CLI
- { false,true, false,false,false,false }, // 2: C#/Java
- { true, false,false,false,false,true }, // 3: C/PHP
- { false,false,true, false,false,false }, // 4: Fortran
- { false,false,false,true, false,false }, // 5: VHDL
+ // G: OPTIMIZE_OUTPUT_SLICE
+ // A B C D E F G
+ { false,false,false,false,false,false,false }, // 0: C++
+ { false,false,false,false,true, false,false }, // 1: C++/CLI
+ { false,true, false,false,false,false,false }, // 2: C#/Java
+ { true, false,false,false,false,true, false }, // 3: C/PHP
+ { false,false,true, false,false,false,false }, // 4: Fortran
+ { false,false,false,true, false,false,false }, // 5: VHDL
+ { false,false,false,false,false,false,true }, // 6: SLICE
};
-static QString g_optimizeOptionNames[6] =
+static QString g_optimizeOptionNames[7] =
{
STR_OPTIMIZE_OUTPUT_FOR_C,
STR_OPTIMIZE_OUTPUT_JAVA,
STR_OPTIMIZE_FOR_FORTRAN,
STR_OPTIMIZE_OUTPUT_VHDL,
STR_CPP_CLI_SUPPORT,
- STR_HIDE_SCOPE_NAMES
+ STR_HIDE_SCOPE_NAMES,
+ STR_OPTIMIZE_OUTPUT_SLICE
};
//==========================================================================
@@ -107,7 +112,7 @@ static bool stringVariantToBool(const QVariant &v)
{
QString s = v.toString().toLower();
return s==QString::fromLatin1("yes") || s==QString::fromLatin1("true") || s==QString::fromLatin1("1");
-}
+}
static bool getBoolOption(
const QHash<QString,Input*>&model,const QString &name)
@@ -115,7 +120,7 @@ static bool getBoolOption(
Input *option = model[name];
Q_ASSERT(option!=0);
return stringVariantToBool(option->value());
-}
+}
static int getIntOption(
const QHash<QString,Input*>&model,const QString &name)
@@ -123,7 +128,7 @@ static int getIntOption(
Input *option = model[name];
Q_ASSERT(option!=0);
return option->value().toInt();
-}
+}
static QString getStringOption(
const QHash<QString,Input*>&model,const QString &name)
@@ -343,19 +348,19 @@ void ColorPicker::paintEvent(QPaintEvent*)
QRect r(0, foff, w, height() - 2*foff);
int wi = r.width() - 2;
int hi = r.height() - 2;
- if (!m_pix || m_pix->height() != hi || m_pix->width() != wi)
+ if (!m_pix || m_pix->height() != hi || m_pix->width() != wi)
{
delete m_pix;
QImage img(wi, hi, QImage::Format_RGB32);
int y;
uint *pixel = (uint *) img.scanLine(0);
- for (y = 0; y < hi; y++)
+ for (y = 0; y < hi; y++)
{
const uint *end = pixel + wi;
int yh = y2hue(y+coff);
int ys = y2sat(y+coff);
int yg = y2gam(y+coff);
- while (pixel < end)
+ while (pixel < end)
{
QColor c;
c.setHsv(yh, ys, (int)(255*pow(0.7,yg/100.0)));
@@ -372,7 +377,7 @@ void ColorPicker::paintEvent(QPaintEvent*)
p.setPen(g.windowText().color());
p.setBrush(g.windowText());
QPolygon a;
- int y = m_mode==Hue ? hue2y(m_hue) :
+ int y = m_mode==Hue ? hue2y(m_hue) :
m_mode==Saturation ? sat2y(m_sat) :
gam2y(m_gam);
a.setPoints(3, w, y, w+5, y+5, w+5, y-5);
@@ -382,14 +387,14 @@ void ColorPicker::paintEvent(QPaintEvent*)
void ColorPicker::mouseMoveEvent(QMouseEvent *m)
{
- if (m_mode==Hue) setHue(y2hue(m->y()));
+ if (m_mode==Hue) setHue(y2hue(m->y()));
else if (m_mode==Saturation) setSat(y2sat(m->y()));
else setGam(y2gam(m->y()));
}
void ColorPicker::mousePressEvent(QMouseEvent *m)
{
- if (m_mode==Hue) setHue(y2hue(m->y()));
+ if (m_mode==Hue) setHue(y2hue(m->y()));
else if (m_mode==Saturation) setSat(y2sat(m->y()));
else setGam(y2gam(m->y()));
}
@@ -530,7 +535,7 @@ Step1::Step1(Wizard *wizard,const QHash<QString,Input*> &modelData) : m_wizard(w
QFrame *f = new QFrame( this );
f->setFrameStyle( QFrame::HLine | QFrame::Sunken );
layout->addWidget(f);
-
+
l = new QLabel(this);
l->setText(tr("Specify the directory to scan for source code"));
layout->addWidget(l);
@@ -602,7 +607,7 @@ void Step1::selectProjectIcon()
else
{
QFile Fout(iconName);
- if(!Fout.exists())
+ if(!Fout.exists())
{
m_projIconLab->setText(tr("Sorry, cannot find file(")+iconName+QString::fromLatin1(");"));
}
@@ -711,7 +716,7 @@ void Step1::init()
if (!iconName.isEmpty())
{
QFile Fout(iconName);
- if(!Fout.exists())
+ if(!Fout.exists())
{
m_projIconLab->setText(tr("Sorry, cannot find file(")+iconName+QString::fromLatin1(");"));
}
@@ -745,7 +750,7 @@ void Step1::init()
//==========================================================================
-Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
+Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
: m_wizard(wizard), m_modelData(modelData)
{
QRadioButton *r;
@@ -770,7 +775,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// m_crossRef -> SOURCE_BROWSER = YES/NO
gbox->addWidget(m_crossRef,3,0);
layout->addWidget(m_extractMode);
-
+
//---------------------------------------------------
QFrame *f = new QFrame( this );
f->setFrameStyle( QFrame::HLine | QFrame::Sunken );
@@ -779,8 +784,8 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
m_optimizeLangGroup = new QButtonGroup(this);
m_optimizeLang = new QGroupBox(this);
m_optimizeLang->setTitle(tr("Select programming language to optimize the results for"));
- gbox = new QGridLayout( m_optimizeLang );
-
+ gbox = new QGridLayout( m_optimizeLang );
+
r = new QRadioButton(m_optimizeLang);
r->setText(tr("Optimize for C++ output"));
r->setChecked(true);
@@ -791,6 +796,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,0,0);
r = new QRadioButton(tr("Optimize for C++/CLI output"));
gbox->addWidget(r,1,0);
@@ -801,6 +807,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = YES
// HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = NO
r = new QRadioButton(tr("Optimize for Java or C# output"));
m_optimizeLangGroup->addButton(r, 2);
// 2 -> OPTIMIZE_OUTPUT_FOR_C = NO
@@ -809,6 +816,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,2,0);
r = new QRadioButton(tr("Optimize for C or PHP output"));
m_optimizeLangGroup->addButton(r, 3);
@@ -818,6 +826,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = YES
+ // OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,3,0);
r = new QRadioButton(tr("Optimize for Fortran output"));
m_optimizeLangGroup->addButton(r, 4);
@@ -827,6 +836,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,4,0);
r = new QRadioButton(tr("Optimize for VHDL output"));
m_optimizeLangGroup->addButton(r, 5);
@@ -836,7 +846,18 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
// OPTIMIZE_OUTPUT_VHDL = YES
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,5,0);
+ r = new QRadioButton(tr("Optimize for SLICE output"));
+ m_optimizeLangGroup->addButton(r, 6);
+ // 5 -> OPTIMIZE_OUTPUT_FOR_C = NO
+ // OPTIMIZE_OUTPUT_JAVA = NO
+ // OPTIMIZE_FOR_FORTRAN = NO
+ // OPTIMIZE_OUTPUT_VHDL = NO
+ // CPP_CLI_SUPPORT = NO
+ // HIDE_SCOPE_NAMES = NO
+ // OPTIMIZE_OUTPUT_SLICE = YES
+ gbox->addWidget(r,6,0);
layout->addWidget(m_optimizeLang);
layout->addStretch(1);
@@ -852,7 +873,7 @@ Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
void Step2::optimizeFor(int choice)
{
- for (int i=0;i<6;i++)
+ for (int i=0;i<7;i++)
{
updateBoolOption(m_modelData,
g_optimizeOptionNames[i],
@@ -882,12 +903,13 @@ void Step2::init()
else if (getBoolOption(m_modelData,STR_OPTIMIZE_OUTPUT_FOR_C)) x=3;
else if (getBoolOption(m_modelData,STR_OPTIMIZE_FOR_FORTRAN)) x=4;
else if (getBoolOption(m_modelData,STR_OPTIMIZE_OUTPUT_VHDL)) x=5;
+ else if (getBoolOption(m_modelData,STR_OPTIMIZE_OUTPUT_SLICE)) x=6;
m_optimizeLangGroup->button(x)->setChecked(true);
}
//==========================================================================
-Step3::Step3(Wizard *wizard,const QHash<QString,Input*> &modelData)
+Step3::Step3(Wizard *wizard,const QHash<QString,Input*> &modelData)
: m_wizard(wizard), m_modelData(modelData)
{
QVBoxLayout *vbox = 0;
@@ -957,16 +979,20 @@ Step3::Step3(Wizard *wizard,const QHash<QString,Input*> &modelData)
// GENERATE_RTF
m_xmlEnabled=new QCheckBox(tr("XML"));
// GENERATE_XML
+ m_docbookEnabled=new QCheckBox(tr("Docbook"));
+ // GENERATE_DOCBOOK
gbox->addWidget(m_manEnabled,3,0);
gbox->addWidget(m_rtfEnabled,4,0);
gbox->addWidget(m_xmlEnabled,5,0);
+ gbox->addWidget(m_docbookEnabled,6,0);
- gbox->setRowStretch(6,1);
+ gbox->setRowStretch(7,1);
connect(m_htmlOptions,SIGNAL(toggled(bool)),SLOT(setHtmlEnabled(bool)));
connect(m_texOptions,SIGNAL(toggled(bool)),SLOT(setLatexEnabled(bool)));
connect(m_manEnabled,SIGNAL(stateChanged(int)),SLOT(setManEnabled(int)));
connect(m_rtfEnabled,SIGNAL(stateChanged(int)),SLOT(setRtfEnabled(int)));
connect(m_xmlEnabled,SIGNAL(stateChanged(int)),SLOT(setXmlEnabled(int)));
+ connect(m_docbookEnabled,SIGNAL(stateChanged(int)),SLOT(setDocbookEnabled(int)));
connect(m_searchEnabled,SIGNAL(stateChanged(int)),SLOT(setSearchEnabled(int)));
connect(m_htmlOptionsGroup,SIGNAL(buttonClicked(int)),
SLOT(setHtmlOptions(int)));
@@ -1014,6 +1040,11 @@ void Step3::setXmlEnabled(int state)
updateBoolOption(m_modelData,STR_GENERATE_XML,state==Qt::Checked);
}
+void Step3::setDocbookEnabled(int state)
+{
+ updateBoolOption(m_modelData,STR_GENERATE_DOCBOOK,state==Qt::Checked);
+}
+
void Step3::setSearchEnabled(int state)
{
updateBoolOption(m_modelData,STR_SEARCHENGINE,state==Qt::Checked);
@@ -1064,6 +1095,7 @@ void Step3::init()
m_manEnabled->setChecked(getBoolOption(m_modelData,STR_GENERATE_MAN));
m_rtfEnabled->setChecked(getBoolOption(m_modelData,STR_GENERATE_RTF));
m_xmlEnabled->setChecked(getBoolOption(m_modelData,STR_GENERATE_XML));
+ m_docbookEnabled->setChecked(getBoolOption(m_modelData,STR_GENERATE_DOCBOOK));
m_searchEnabled->setChecked(getBoolOption(m_modelData,STR_SEARCHENGINE));
if (getBoolOption(m_modelData,STR_GENERATE_HTMLHELP))
{
@@ -1093,7 +1125,7 @@ void Step3::init()
//==========================================================================
-Step4::Step4(Wizard *wizard,const QHash<QString,Input*> &modelData)
+Step4::Step4(Wizard *wizard,const QHash<QString,Input*> &modelData)
: m_wizard(wizard), m_modelData(modelData)
{
m_diagramModeGroup = new QButtonGroup(this);
@@ -1116,7 +1148,7 @@ Step4::Step4(Wizard *wizard,const QHash<QString,Input*> &modelData)
m_dotGroup = new QGroupBox(tr("Dot graphs to generate"));
QVBoxLayout *vbox = new QVBoxLayout;
- m_dotClass=new QCheckBox(tr("Class diagrams"));
+ m_dotClass=new QCheckBox(tr("Class graphs"));
// CLASS_GRAPH
m_dotCollaboration=new QCheckBox(tr("Collaboration diagrams"));
// COLLABORATION_GRAPH
@@ -1250,7 +1282,7 @@ void Step4::init()
//==========================================================================
-Wizard::Wizard(const QHash<QString,Input*> &modelData, QWidget *parent) :
+Wizard::Wizard(const QHash<QString,Input*> &modelData, QWidget *parent) :
QSplitter(parent), m_modelData(modelData)
{
m_treeWidget = new QTreeWidget;
@@ -1303,7 +1335,7 @@ void Wizard::activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *)
{
if (item)
{
-
+
QString label = item->text(0);
if (label==tr("Project"))
{
diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h
index 8b877e1..d4fbba3 100644
--- a/addon/doxywizard/wizard.h
+++ b/addon/doxywizard/wizard.h
@@ -162,6 +162,7 @@ class Step3 : public QWidget
void setManEnabled(int);
void setRtfEnabled(int);
void setXmlEnabled(int);
+ void setDocbookEnabled(int);
void setSearchEnabled(int);
void setHtmlOptions(int);
void setLatexOptions(int);
@@ -177,6 +178,7 @@ class Step3 : public QWidget
QCheckBox *m_manEnabled = 0;
QCheckBox *m_rtfEnabled = 0;
QCheckBox *m_xmlEnabled = 0;
+ QCheckBox *m_docbookEnabled = 0;
QCheckBox *m_searchEnabled = 0;
QPushButton *m_tuneColor = 0;
Wizard *m_wizard = 0;