summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doxyfile2
-rw-r--r--src/config.xml19
-rw-r--r--src/dotnode.cpp24
3 files changed, 40 insertions, 5 deletions
diff --git a/Doxyfile b/Doxyfile
index 8681c99..44eb5b5 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -328,3 +328,5 @@ DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = NO
+DOT_MAX_FOLD = 17
+DOT_UML_DETAILS = NO
diff --git a/src/config.xml b/src/config.xml
index 793b7d1..b080bec 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -3419,7 +3419,7 @@ to be found in the default search path.
]]>
</docs>
</option>
- <option type='int' id='UML_LIMIT_NUM_FIELDS' defval='10' minval='0' maxval='100' depends='HAVE_DOT'>
+ <option type='int' id='UML_LIMIT_NUM_FIELDS' defval='10' minval='0' maxval='100' depends='UML_LOOK'>
<docs>
<![CDATA[
If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside
@@ -3433,6 +3433,23 @@ to be found in the default search path.
]]>
</docs>
</option>
+ <option type='bool' id='DOT_UML_DETAILS' defval='0' depends='UML_LOOK'>
+ <docs>
+<![CDATA[
+If the \c DOT_UML_DETAILS tag is set to \c YES, doxygen will
+add type and arguments for attributes and methods in the UML graphs.
+]]>
+ </docs>
+ </option>
+ <option type='int' id='DOT_WRAP_THRESHOLD' defval='17' minval='0' maxval='1000' depends='HAVE_DOT'>
+ <docs>
+<![CDATA[
+ The \c DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters to display on
+ a single line. If the actual line length exceeds this threshold significantly it will wrapped
+ across multiple lines. Some heuristics are apply to avoid ugly line breaks.
+]]>
+ </docs>
+ </option>
<option type='bool' id='TEMPLATE_RELATIONS' defval='0' depends='HAVE_DOT'>
<docs>
<![CDATA[
diff --git a/src/dotnode.cpp b/src/dotnode.cpp
index c02827f..8ce1bb3 100644
--- a/src/dotnode.cpp
+++ b/src/dotnode.cpp
@@ -148,9 +148,25 @@ static void writeBoxMemberList(FTextStream &t,
else
{
t << prot << " ";
- t << DotNode::convertLabel(mma->name());
- if (!mma->isObjCMethod() &&
- (mma->isFunction() || mma->isSlot() || mma->isSignal())) t << "()";
+ QCString label;
+ if(Config_getBool(DOT_UML_DETAILS))
+ {
+ label+=mma->typeString();
+ label+=" ";
+ }
+ label+=mma->name();
+ if (!mma->isObjCMethod() && (mma->isFunction() || mma->isSlot() || mma->isSignal()))
+ {
+ if(Config_getBool(DOT_UML_DETAILS))
+ {
+ label+=mma->argsString();
+ }
+ else
+ {
+ label+="()";
+ }
+ }
+ t << DotNode::convertLabel(label);
t << "\\l";
count++;
}
@@ -185,7 +201,7 @@ QCString DotNode::convertLabel(const QCString &l)
int len=p.length();
int charsLeft=len;
int sinceLast=0;
- int foldLen=17; // ideal text length
+ int foldLen = Config_getInt(DOT_WRAP_THRESHOLD); // ideal text length
while (idx < p.length())
{
c = p[idx++];