diff options
-rw-r--r-- | Doxyfile | 2 | ||||
-rw-r--r-- | src/config.xml | 19 | ||||
-rw-r--r-- | src/dotnode.cpp | 24 |
3 files changed, 40 insertions, 5 deletions
@@ -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++]; |