summaryrefslogtreecommitdiffstats
path: root/addon
diff options
context:
space:
mode:
Diffstat (limited to 'addon')
-rw-r--r--addon/doxywizard/expert.cpp237
1 files changed, 121 insertions, 116 deletions
diff --git a/addon/doxywizard/expert.cpp b/addon/doxywizard/expert.cpp
index 4bbb104..cf33192 100644
--- a/addon/doxywizard/expert.cpp
+++ b/addon/doxywizard/expert.cpp
@@ -8,6 +8,7 @@
#include <QtXml>
#include "config.h"
#include "version.h"
+#include "../../src/settings.h"
#undef SA
#define SA(x) QString::fromAscii(x)
@@ -120,144 +121,148 @@ QWidget *Expert::createTopicWidget(QDomElement &elem)
int row=0;
while (!child.isNull())
{
- QString type = child.attribute(SA("type"));
- if (type==SA("bool"))
+ QString setting = child.attribute(SA("setting"));
+ if (setting.isEmpty() || IS_SUPPORTED(setting.toAscii()))
{
- InputBool *boolOption =
+ QString type = child.attribute(SA("type"));
+ if (type==SA("bool"))
+ {
+ InputBool *boolOption =
new InputBool(
- layout,row,
+ layout,row,
+ child.attribute(SA("id")),
+ child.attribute(SA("defval"))==SA("1"),
+ child.attribute(SA("docs"))
+ );
+ m_options.insert(
child.attribute(SA("id")),
- child.attribute(SA("defval"))==SA("1"),
- child.attribute(SA("docs"))
- );
- m_options.insert(
- child.attribute(SA("id")),
- boolOption
- );
- connect(boolOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
- connect(boolOption,SIGNAL(changed()),SIGNAL(changed()));
- }
- else if (type==SA("string"))
- {
- InputString::StringMode mode;
- QString format = child.attribute(SA("format"));
- if (format==SA("dir"))
- {
- mode = InputString::StringDir;
- }
- else if (format==SA("file"))
- {
- mode = InputString::StringFile;
+ boolOption
+ );
+ connect(boolOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
+ connect(boolOption,SIGNAL(changed()),SIGNAL(changed()));
}
- else // format=="string"
+ else if (type==SA("string"))
{
- mode = InputString::StringFree;
- }
- InputString *stringOption =
+ InputString::StringMode mode;
+ QString format = child.attribute(SA("format"));
+ if (format==SA("dir"))
+ {
+ mode = InputString::StringDir;
+ }
+ else if (format==SA("file"))
+ {
+ mode = InputString::StringFile;
+ }
+ else // format=="string"
+ {
+ mode = InputString::StringFree;
+ }
+ InputString *stringOption =
new InputString(
- layout,row,
+ layout,row,
+ child.attribute(SA("id")),
+ child.attribute(SA("defval")),
+ mode,
+ child.attribute(SA("docs")),
+ child.attribute(SA("abspath"))
+ );
+ m_options.insert(
child.attribute(SA("id")),
- child.attribute(SA("defval")),
- mode,
- child.attribute(SA("docs")),
- child.attribute(SA("abspath"))
- );
- m_options.insert(
- child.attribute(SA("id")),
- stringOption
- );
- connect(stringOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
- connect(stringOption,SIGNAL(changed()),SIGNAL(changed()));
- }
- else if (type==SA("enum"))
- {
- InputString *enumList = new InputString(
+ stringOption
+ );
+ connect(stringOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
+ connect(stringOption,SIGNAL(changed()),SIGNAL(changed()));
+ }
+ else if (type==SA("enum"))
+ {
+ InputString *enumList = new InputString(
layout,row,
child.attribute(SA("id")),
child.attribute(SA("defval")),
InputString::StringFixed,
child.attribute(SA("docs"))
- );
- QDomElement enumVal = child.firstChildElement();
- while (!enumVal.isNull())
- {
- enumList->addValue(enumVal.attribute(SA("name")));
- enumVal = enumVal.nextSiblingElement();
+ );
+ QDomElement enumVal = child.firstChildElement();
+ while (!enumVal.isNull())
+ {
+ enumList->addValue(enumVal.attribute(SA("name")));
+ enumVal = enumVal.nextSiblingElement();
+ }
+ enumList->setDefault();
+
+ m_options.insert(child.attribute(SA("id")),enumList);
+ connect(enumList,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
+ connect(enumList,SIGNAL(changed()),SIGNAL(changed()));
}
- enumList->setDefault();
-
- m_options.insert(child.attribute(SA("id")),enumList);
- connect(enumList,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
- connect(enumList,SIGNAL(changed()),SIGNAL(changed()));
- }
- else if (type==SA("int"))
- {
- InputInt *intOption =
+ else if (type==SA("int"))
+ {
+ InputInt *intOption =
new InputInt(
- layout,row,
+ layout,row,
+ child.attribute(SA("id")),
+ child.attribute(SA("defval")).toInt(),
+ child.attribute(SA("minval")).toInt(),
+ child.attribute(SA("maxval")).toInt(),
+ child.attribute(SA("docs"))
+ );
+ m_options.insert(
child.attribute(SA("id")),
- child.attribute(SA("defval")).toInt(),
- child.attribute(SA("minval")).toInt(),
- child.attribute(SA("maxval")).toInt(),
- child.attribute(SA("docs"))
- );
- m_options.insert(
- child.attribute(SA("id")),
- intOption
- );
- connect(intOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
- connect(intOption,SIGNAL(changed()),SIGNAL(changed()));
- }
- else if (type==SA("list"))
- {
- InputStrList::ListMode mode;
- QString format = child.attribute(SA("format"));
- if (format==SA("dir"))
- {
- mode = InputStrList::ListDir;
- }
- else if (format==SA("file"))
- {
- mode = InputStrList::ListFile;
+ intOption
+ );
+ connect(intOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
+ connect(intOption,SIGNAL(changed()),SIGNAL(changed()));
}
- else if (format==SA("filedir"))
+ else if (type==SA("list"))
{
- mode = InputStrList::ListFileDir;
+ InputStrList::ListMode mode;
+ QString format = child.attribute(SA("format"));
+ if (format==SA("dir"))
+ {
+ mode = InputStrList::ListDir;
+ }
+ else if (format==SA("file"))
+ {
+ mode = InputStrList::ListFile;
+ }
+ else if (format==SA("filedir"))
+ {
+ mode = InputStrList::ListFileDir;
+ }
+ else // format=="string"
+ {
+ mode = InputStrList::ListString;
+ }
+ QStringList sl;
+ QDomElement listVal = child.firstChildElement();
+ while (!listVal.isNull())
+ {
+ sl.append(listVal.attribute(SA("name")));
+ listVal = listVal.nextSiblingElement();
+ }
+ InputStrList *listOption =
+ new InputStrList(
+ layout,row,
+ child.attribute(SA("id")),
+ sl,
+ mode,
+ child.attribute(SA("docs"))
+ );
+ m_options.insert(
+ child.attribute(SA("id")),
+ listOption
+ );
+ connect(listOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
+ connect(listOption,SIGNAL(changed()),SIGNAL(changed()));
}
- else // format=="string"
+ else if (type==SA("obsolete"))
{
- mode = InputStrList::ListString;
+ // ignore
}
- QStringList sl;
- QDomElement listVal = child.firstChildElement();
- while (!listVal.isNull())
+ else // should not happen
{
- sl.append(listVal.attribute(SA("name")));
- listVal = listVal.nextSiblingElement();
+ printf("Unsupported type %s\n",qPrintable(child.attribute(SA("type"))));
}
- InputStrList *listOption =
- new InputStrList(
- layout,row,
- child.attribute(SA("id")),
- sl,
- mode,
- child.attribute(SA("docs"))
- );
- m_options.insert(
- child.attribute(SA("id")),
- listOption
- );
- connect(listOption,SIGNAL(showHelp(Input*)),SLOT(showHelp(Input*)));
- connect(listOption,SIGNAL(changed()),SIGNAL(changed()));
- }
- else if (type==SA("obsolete"))
- {
- // ignore
- }
- else // should not happen
- {
- printf("Unsupported type %s\n",qPrintable(child.attribute(SA("type"))));
- }
+ } // IS_SUPPORTED
child = child.nextSiblingElement();
}