colors work again
authorinsilmaril
Tue, 28 Apr 2009 09:51:48 +0000
changeset 75804039e47ac74
parent 757 c6908bc17d78
child 759 bf3ea1f1520b
colors work again
branchitem.cpp
branchitem.h
doxygen.config
treeitem.cpp
treeitem.h
xml-vym.cpp
     1.1 --- a/branchitem.cpp	Mon Apr 27 12:42:06 2009 +0000
     1.2 +++ b/branchitem.cpp	Tue Apr 28 09:51:48 2009 +0000
     1.3 @@ -183,6 +183,12 @@
     1.4  	return vymLink;
     1.5  }
     1.6  
     1.7 +void BranchItem::setHeadingColor (QColor color)
     1.8 +{
     1.9 +	TreeItem::setHeadingColor (color);
    1.10 +	if (lmo) ((BranchObj*)lmo)->setColor (color);
    1.11 +}
    1.12 +
    1.13  void BranchItem::unScroll()
    1.14  {
    1.15  	if (tmpUnscrolled) resetTmpUnscroll();
    1.16 @@ -266,26 +272,26 @@
    1.17  	}	
    1.18  }
    1.19  
    1.20 -TreeItem* BranchItem::findMapItem (QPointF p, TreeItem* excludeLMO)
    1.21 +TreeItem* BranchItem::findMapItem (QPointF p, TreeItem* excludeTI)
    1.22  {
    1.23  	// Search branches
    1.24  	TreeItem *ti;
    1.25  	for (int i=0; i<branchCount(); ++i)
    1.26      {	
    1.27 -		ti=getBranchNum(i)->findMapItem(p, excludeLMO);
    1.28 +		ti=getBranchNum(i)->findMapItem(p, excludeTI);
    1.29  		if (ti != NULL) return ti;
    1.30      }
    1.31  	
    1.32  
    1.33  	// Search myself
    1.34 -    if (getBranchObj()->isInClickBox (p) && (this != excludeLMO) && getBranchObj()->isVisibleObj() ) 
    1.35 +    if (getBranchObj()->isInClickBox (p) && (this != excludeTI) && getBranchObj()->isVisibleObj() ) 
    1.36  		return this;
    1.37  
    1.38  /* FIXME-2 // Search float images
    1.39      for (int i=0; i<floatimage.size(); ++i )
    1.40  		if (floatimage.at(i)->isInClickBox(p) && 
    1.41 -			(floatimage.at(i) != excludeLMO) && 
    1.42 -			floatimage.at(i)->getParObj()!= excludeLMO &&
    1.43 +			(floatimage.at(i) != excludeTI) && 
    1.44 +			floatimage.at(i)->getParObj()!= excludeTI &&
    1.45  			floatimage.at(i)->isVisibleObj() 
    1.46  		) return floatimage.at(i)->getTreeItem();
    1.47  */
    1.48 @@ -331,6 +337,15 @@
    1.49      newbo->setParObj(parent()->getLMO() );
    1.50  	newbo->setTreeItem (this);
    1.51  	newbo->setDefAttr(BranchObj::NewBranch);
    1.52 +	
    1.53 +
    1.54 +	if (!getHeading().isEmpty() ) 
    1.55 +	{
    1.56 +		newbo->updateHeading();
    1.57 +		newbo->setColor (headingColor);
    1.58 +	}	
    1.59 +
    1.60 +		
    1.61  	//newbo->updateLink();	//FIXME-3
    1.62  
    1.63  	lmo=newbo;
     2.1 --- a/branchitem.h	Mon Apr 27 12:42:06 2009 +0000
     2.2 +++ b/branchitem.h	Tue Apr 28 09:51:48 2009 +0000
     2.3 @@ -28,6 +28,8 @@
     2.4  	virtual void setVymLink (QString);
     2.5      virtual QString getVymLink ();
     2.6  
     2.7 +	virtual void setHeadingColor (QColor color); //!Overloaded from TreeItem to update QGraphicsView
     2.8 +
     2.9  protected:	
    2.10  	bool scrolled;			// true if all children are scrolled and thus invisible
    2.11  	bool tmpUnscrolled;		// can only be true (temporary) for a scrolled subtree
    2.12 @@ -39,7 +41,7 @@
    2.13  	virtual void tmpUnscroll();				// unscroll scrolled parents temporary e.g. during "find" process
    2.14  	virtual void resetTmpUnscroll();		// scroll all tmp scrolled parents again e.g. when unselecting
    2.15  
    2.16 -	TreeItem* findMapItem (QPointF,TreeItem*);	//! search map for branches or images
    2.17 +	TreeItem* findMapItem (QPointF p,TreeItem* excludeTI);	//! search map for branches or images. Ignore excludeTI, where search is started 
    2.18  	virtual TreeItem* findID (QString sid);		//! search map for object with ID string
    2.19  
    2.20  	BranchObj* getBranchObj();	
     3.1 --- a/doxygen.config	Mon Apr 27 12:42:06 2009 +0000
     3.2 +++ b/doxygen.config	Tue Apr 28 09:51:48 2009 +0000
     3.3 @@ -1,4 +1,4 @@
     3.4 -# Doxyfile 1.5.5
     3.5 +# Doxyfile 1.5.0
     3.6  
     3.7  # This file describes the settings to be used by the documentation system
     3.8  # doxygen (www.doxygen.org) for a project
     3.9 @@ -14,18 +14,10 @@
    3.10  # Project related configuration options
    3.11  #---------------------------------------------------------------------------
    3.12  
    3.13 -# This tag specifies the encoding used for all characters in the config file 
    3.14 -# that follow. The default is UTF-8 which is also the encoding used for all 
    3.15 -# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
    3.16 -# iconv built into libc) for the transcoding. See 
    3.17 -# http://www.gnu.org/software/libiconv for the list of possible encodings.
    3.18 -
    3.19 -DOXYFILE_ENCODING      = UTF-8
    3.20 -
    3.21  # The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
    3.22  # by quotes) that should identify the project.
    3.23  
    3.24 -PROJECT_NAME           = 
    3.25 +PROJECT_NAME           = "VYM - View Your Mind"
    3.26  
    3.27  # The PROJECT_NUMBER tag can be used to enter a project or revision number. 
    3.28  # This could be handy for archiving the generated documentation or 
    3.29 @@ -38,7 +30,7 @@
    3.30  # If a relative path is entered, it will be relative to the location 
    3.31  # where doxygen was started. If left blank the current directory will be used.
    3.32  
    3.33 -OUTPUT_DIRECTORY       = 
    3.34 +OUTPUT_DIRECTORY       = doc
    3.35  
    3.36  # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
    3.37  # 4096 sub-directories (in 2 levels) under the output directory of each output 
    3.38 @@ -54,14 +46,23 @@
    3.39  # information to generate all constant output in the proper language. 
    3.40  # The default language is English, other supported languages are: 
    3.41  # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
    3.42 -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, 
    3.43 -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), 
    3.44 -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, 
    3.45 -# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, 
    3.46 -# and Ukrainian.
    3.47 +# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
    3.48 +# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
    3.49 +# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
    3.50 +# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
    3.51  
    3.52  OUTPUT_LANGUAGE        = English
    3.53  
    3.54 +# This tag can be used to specify the encoding used in the generated output. 
    3.55 +# The encoding is not always determined by the language that is chosen, 
    3.56 +# but also whether or not the output is meant for Windows or non-Windows users. 
    3.57 +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
    3.58 +# forces the Windows encoding (this is the default for the Windows binary), 
    3.59 +# whereas setting the tag to NO uses a Unix-style encoding (the default for 
    3.60 +# all platforms other than Windows).
    3.61 +
    3.62 +USE_WINDOWS_ENCODING   = NO
    3.63 +
    3.64  # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
    3.65  # include brief member descriptions after the members that are listed in 
    3.66  # the file and class documentation (similar to JavaDoc). 
    3.67 @@ -134,19 +135,11 @@
    3.68  # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
    3.69  # will interpret the first line (until the first dot) of a JavaDoc-style 
    3.70  # comment as the brief description. If set to NO, the JavaDoc 
    3.71 -# comments will behave just like regular Qt-style comments 
    3.72 -# (thus requiring an explicit @brief command for a brief description.)
    3.73 +# comments will behave just like the Qt-style comments (thus requiring an 
    3.74 +# explicit @brief command for a brief description.
    3.75  
    3.76  JAVADOC_AUTOBRIEF      = NO
    3.77  
    3.78 -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
    3.79 -# interpret the first line (until the first dot) of a Qt-style 
    3.80 -# comment as the brief description. If set to NO, the comments 
    3.81 -# will behave just like regular Qt-style comments (thus requiring 
    3.82 -# an explicit \brief command for a brief description.)
    3.83 -
    3.84 -QT_AUTOBRIEF           = NO
    3.85 -
    3.86  # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
    3.87  # treat a multi-line C++ special comment block (i.e. a block of //! or /// 
    3.88  # comments) as a brief description. This used to be the default behaviour. 
    3.89 @@ -196,26 +189,14 @@
    3.90  OPTIMIZE_OUTPUT_FOR_C  = NO
    3.91  
    3.92  # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
    3.93 -# sources only. Doxygen will then generate output that is more tailored for 
    3.94 -# Java. For instance, namespaces will be presented as packages, qualified 
    3.95 -# scopes will look different, etc.
    3.96 +# sources only. Doxygen will then generate output that is more tailored for Java. 
    3.97 +# For instance, namespaces will be presented as packages, qualified scopes 
    3.98 +# will look different, etc.
    3.99  
   3.100  OPTIMIZE_OUTPUT_JAVA   = NO
   3.101  
   3.102 -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
   3.103 -# sources only. Doxygen will then generate output that is more tailored for 
   3.104 -# Fortran.
   3.105 -
   3.106 -OPTIMIZE_FOR_FORTRAN   = NO
   3.107 -
   3.108 -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
   3.109 -# sources. Doxygen will then generate output that is tailored for 
   3.110 -# VHDL.
   3.111 -
   3.112 -OPTIMIZE_OUTPUT_VHDL   = NO
   3.113 -
   3.114 -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
   3.115 -# to include (a tag file for) the STL sources as input, then you should 
   3.116 +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
   3.117 +# include (a tag file for) the STL sources as input, then you should 
   3.118  # set this tag to YES in order to let doxygen match functions declarations and 
   3.119  # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
   3.120  # func(std::string) {}). This also make the inheritance and collaboration 
   3.121 @@ -223,17 +204,6 @@
   3.122  
   3.123  BUILTIN_STL_SUPPORT    = NO
   3.124  
   3.125 -# If you use Microsoft's C++/CLI language, you should set this option to YES to
   3.126 -# enable parsing support.
   3.127 -
   3.128 -CPP_CLI_SUPPORT        = NO
   3.129 -
   3.130 -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
   3.131 -# Doxygen will parse them like normal C++ but will assume all classes use public 
   3.132 -# instead of private inheritance when no explicit protection keyword is present.
   3.133 -
   3.134 -SIP_SUPPORT            = NO
   3.135 -
   3.136  # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
   3.137  # tag is set to YES, then doxygen will reuse the documentation of the first 
   3.138  # member in the group (if any) for the other members of the group. By default 
   3.139 @@ -249,16 +219,6 @@
   3.140  
   3.141  SUBGROUPING            = YES
   3.142  
   3.143 -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
   3.144 -# is documented as struct, union, or enum with the name of the typedef. So 
   3.145 -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
   3.146 -# with name TypeT. When disabled the typedef will appear as a member of a file, 
   3.147 -# namespace, or class. And the struct will be named TypeS. This can typically 
   3.148 -# be useful for C code in case the coding convention dictates that all compound 
   3.149 -# types are typedef'ed and only the typedef is referenced, never the tag name.
   3.150 -
   3.151 -TYPEDEF_HIDES_STRUCT   = NO
   3.152 -
   3.153  #---------------------------------------------------------------------------
   3.154  # Build related configuration options
   3.155  #---------------------------------------------------------------------------
   3.156 @@ -293,14 +253,6 @@
   3.157  
   3.158  EXTRACT_LOCAL_METHODS  = NO
   3.159  
   3.160 -# If this flag is set to YES, the members of anonymous namespaces will be 
   3.161 -# extracted and appear in the documentation as a namespace called 
   3.162 -# 'anonymous_namespace{file}', where file will be replaced with the base 
   3.163 -# name of the file that contains the anonymous namespace. By default 
   3.164 -# anonymous namespace are hidden.
   3.165 -
   3.166 -EXTRACT_ANON_NSPACES   = NO
   3.167 -
   3.168  # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
   3.169  # undocumented members of documented classes, files or namespaces. 
   3.170  # If set to NO (the default) these members will be included in the 
   3.171 @@ -376,12 +328,6 @@
   3.172  
   3.173  SORT_BRIEF_DOCS        = NO
   3.174  
   3.175 -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
   3.176 -# hierarchy of group names into alphabetical order. If set to NO (the default) 
   3.177 -# the group names will appear in their defined order.
   3.178 -
   3.179 -SORT_GROUP_NAMES       = NO
   3.180 -
   3.181  # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
   3.182  # sorted by fully-qualified names, including namespaces. If set to 
   3.183  # NO (the default), the class list will be sorted only by class name, 
   3.184 @@ -444,8 +390,8 @@
   3.185  SHOW_DIRECTORIES       = NO
   3.186  
   3.187  # The FILE_VERSION_FILTER tag can be used to specify a program or script that 
   3.188 -# doxygen should invoke to get the current version for each file (typically from 
   3.189 -# the version control system). Doxygen will invoke the program by executing (via 
   3.190 +# doxygen should invoke to get the current version for each file (typically from the 
   3.191 +# version control system). Doxygen will invoke the program by executing (via 
   3.192  # popen()) the command <command> <input-file>, where <command> is the value of 
   3.193  # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
   3.194  # provided by doxygen. Whatever the program writes to standard output 
   3.195 @@ -515,20 +461,12 @@
   3.196  
   3.197  INPUT                  = 
   3.198  
   3.199 -# This tag can be used to specify the character encoding of the source files 
   3.200 -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
   3.201 -# also the default input encoding. Doxygen uses libiconv (or the iconv built 
   3.202 -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
   3.203 -# the list of possible encodings.
   3.204 -
   3.205 -INPUT_ENCODING         = UTF-8
   3.206 -
   3.207  # If the value of the INPUT tag contains directories, you can use the 
   3.208  # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
   3.209  # and *.h) to filter out the source-files in the directories. If left 
   3.210  # blank the following patterns are tested: 
   3.211  # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
   3.212 -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
   3.213 +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
   3.214  
   3.215  FILE_PATTERNS          = 
   3.216  
   3.217 @@ -556,15 +494,7 @@
   3.218  # against the file with absolute path, so to exclude all test directories 
   3.219  # for example use the pattern */test/*
   3.220  
   3.221 -EXCLUDE_PATTERNS       = 
   3.222 -
   3.223 -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
   3.224 -# (namespaces, classes, functions, etc.) that should be excluded from the 
   3.225 -# output. The symbol name can be a fully qualified name, a word, or if the 
   3.226 -# wildcard * is used, a substring. Examples: ANamespace, AClass, 
   3.227 -# AClass::ANamespace, ANamespace::*Test
   3.228 -
   3.229 -EXCLUDE_SYMBOLS        = 
   3.230 +EXCLUDE_PATTERNS       = moc_*
   3.231  
   3.232  # The EXAMPLE_PATH tag can be used to specify one or more files or 
   3.233  # directories that contain example code fragments that are included (see 
   3.234 @@ -643,13 +573,13 @@
   3.235  # then for each documented function all documented 
   3.236  # functions referencing it will be listed.
   3.237  
   3.238 -REFERENCED_BY_RELATION = NO
   3.239 +REFERENCED_BY_RELATION = YES
   3.240  
   3.241  # If the REFERENCES_RELATION tag is set to YES (the default) 
   3.242  # then for each documented function all documented entities 
   3.243  # called/used by that function will be listed.
   3.244  
   3.245 -REFERENCES_RELATION    = NO
   3.246 +REFERENCES_RELATION    = YES
   3.247  
   3.248  # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
   3.249  # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
   3.250 @@ -745,44 +675,11 @@
   3.251  
   3.252  # If the GENERATE_HTMLHELP tag is set to YES, additional index files 
   3.253  # will be generated that can be used as input for tools like the 
   3.254 -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
   3.255 +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
   3.256  # of the generated HTML documentation.
   3.257  
   3.258  GENERATE_HTMLHELP      = NO
   3.259  
   3.260 -# If the GENERATE_DOCSET tag is set to YES, additional index files 
   3.261 -# will be generated that can be used as input for Apple's Xcode 3 
   3.262 -# integrated development environment, introduced with OSX 10.5 (Leopard). 
   3.263 -# To create a documentation set, doxygen will generate a Makefile in the 
   3.264 -# HTML output directory. Running make will produce the docset in that 
   3.265 -# directory and running "make install" will install the docset in 
   3.266 -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
   3.267 -# it at startup.
   3.268 -
   3.269 -GENERATE_DOCSET        = NO
   3.270 -
   3.271 -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
   3.272 -# feed. A documentation feed provides an umbrella under which multiple 
   3.273 -# documentation sets from a single provider (such as a company or product suite) 
   3.274 -# can be grouped.
   3.275 -
   3.276 -DOCSET_FEEDNAME        = "Doxygen generated docs"
   3.277 -
   3.278 -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
   3.279 -# should uniquely identify the documentation set bundle. This should be a 
   3.280 -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
   3.281 -# will append .docset to the name.
   3.282 -
   3.283 -DOCSET_BUNDLE_ID       = org.doxygen.Project
   3.284 -
   3.285 -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
   3.286 -# documentation will contain sections that can be hidden and shown after the 
   3.287 -# page has loaded. For this to work a browser that supports 
   3.288 -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
   3.289 -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
   3.290 -
   3.291 -HTML_DYNAMIC_SECTIONS  = NO
   3.292 -
   3.293  # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
   3.294  # be used to specify the file name of the resulting .chm file. You 
   3.295  # can add a path in front of the file if the result should not be 
   3.296 @@ -847,7 +744,7 @@
   3.297  # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
   3.298  # generate Latex output.
   3.299  
   3.300 -GENERATE_LATEX         = YES
   3.301 +GENERATE_LATEX         = NO
   3.302  
   3.303  # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
   3.304  # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
   3.305 @@ -895,13 +792,13 @@
   3.306  # contain links (just like the HTML output) instead of page references 
   3.307  # This makes the output suitable for online browsing using a pdf viewer.
   3.308  
   3.309 -PDF_HYPERLINKS         = YES
   3.310 +PDF_HYPERLINKS         = NO
   3.311  
   3.312  # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
   3.313  # plain latex in the generated Makefile. Set this option to YES to get a 
   3.314  # higher quality PDF documentation.
   3.315  
   3.316 -USE_PDFLATEX           = YES
   3.317 +USE_PDFLATEX           = NO
   3.318  
   3.319  # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
   3.320  # command to the generated LaTeX files. This will instruct LaTeX to keep 
   3.321 @@ -1188,15 +1085,6 @@
   3.322  
   3.323  CLASS_DIAGRAMS         = YES
   3.324  
   3.325 -# You can define message sequence charts within doxygen comments using the \msc 
   3.326 -# command. Doxygen will then run the mscgen tool (see 
   3.327 -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
   3.328 -# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
   3.329 -# the mscgen tool resides. If left empty the tool is assumed to be found in the 
   3.330 -# default search path.
   3.331 -
   3.332 -MSCGEN_PATH            = 
   3.333 -
   3.334  # If set to YES, the inheritance and collaboration graphs will hide 
   3.335  # inheritance and usage relations if the target is undocumented 
   3.336  # or is not a class.
   3.337 @@ -1254,19 +1142,19 @@
   3.338  
   3.339  INCLUDED_BY_GRAPH      = YES
   3.340  
   3.341 -# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
   3.342 -# doxygen will generate a call dependency graph for every global function 
   3.343 -# or class method. Note that enabling this option will significantly increase 
   3.344 -# the time of a run. So in most cases it will be better to enable call graphs 
   3.345 -# for selected functions only using the \callgraph command.
   3.346 +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
   3.347 +# generate a call dependency graph for every global function or class method. 
   3.348 +# Note that enabling this option will significantly increase the time of a run. 
   3.349 +# So in most cases it will be better to enable call graphs for selected 
   3.350 +# functions only using the \callgraph command.
   3.351  
   3.352  CALL_GRAPH             = NO
   3.353  
   3.354 -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
   3.355 -# doxygen will generate a caller dependency graph for every global function 
   3.356 -# or class method. Note that enabling this option will significantly increase 
   3.357 -# the time of a run. So in most cases it will be better to enable caller 
   3.358 -# graphs for selected functions only using the \callergraph command.
   3.359 +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
   3.360 +# generate a caller dependency graph for every global function or class method. 
   3.361 +# Note that enabling this option will significantly increase the time of a run. 
   3.362 +# So in most cases it will be better to enable caller graphs for selected 
   3.363 +# functions only using the \callergraph command.
   3.364  
   3.365  CALLER_GRAPH           = NO
   3.366  
   3.367 @@ -1299,33 +1187,41 @@
   3.368  
   3.369  DOTFILE_DIRS           = 
   3.370  
   3.371 -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
   3.372 -# nodes that will be shown in the graph. If the number of nodes in a graph 
   3.373 -# becomes larger than this value, doxygen will truncate the graph, which is 
   3.374 -# visualized by representing a node as a red box. Note that doxygen if the 
   3.375 -# number of direct children of the root node in a graph is already larger than 
   3.376 -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
   3.377 -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
   3.378 +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
   3.379 +# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
   3.380 +# this value, doxygen will try to truncate the graph, so that it fits within 
   3.381 +# the specified constraint. Beware that most browsers cannot cope with very 
   3.382 +# large images.
   3.383  
   3.384 -DOT_GRAPH_MAX_NODES    = 50
   3.385 +MAX_DOT_GRAPH_WIDTH    = 1024
   3.386 +
   3.387 +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
   3.388 +# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
   3.389 +# this value, doxygen will try to truncate the graph, so that it fits within 
   3.390 +# the specified constraint. Beware that most browsers cannot cope with very 
   3.391 +# large images.
   3.392 +
   3.393 +MAX_DOT_GRAPH_HEIGHT   = 1024
   3.394  
   3.395  # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
   3.396  # graphs generated by dot. A depth value of 3 means that only nodes reachable 
   3.397  # from the root by following a path via at most 3 edges will be shown. Nodes 
   3.398  # that lay further from the root node will be omitted. Note that setting this 
   3.399  # option to 1 or 2 may greatly reduce the computation time needed for large 
   3.400 -# code bases. Also note that the size of a graph can be further restricted by 
   3.401 -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
   3.402 +# code bases. Also note that a graph may be further truncated if the graph's 
   3.403 +# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH 
   3.404 +# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), 
   3.405 +# the graph is not depth-constrained.
   3.406  
   3.407  MAX_DOT_GRAPH_DEPTH    = 0
   3.408  
   3.409  # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
   3.410 -# background. This is enabled by default, which results in a transparent 
   3.411 -# background. Warning: Depending on the platform used, enabling this option 
   3.412 -# may lead to badly anti-aliased labels on the edges of a graph (i.e. they 
   3.413 -# become hard to read).
   3.414 +# background. This is disabled by default, which results in a white background. 
   3.415 +# Warning: Depending on the platform used, enabling this option may lead to 
   3.416 +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
   3.417 +# read).
   3.418  
   3.419 -DOT_TRANSPARENT        = YES
   3.420 +DOT_TRANSPARENT        = NO
   3.421  
   3.422  # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
   3.423  # files in one run (i.e. multiple -o and -T options on the command line). This 
     4.1 --- a/treeitem.cpp	Mon Apr 27 12:42:06 2009 +0000
     4.2 +++ b/treeitem.cpp	Tue Apr 28 09:51:48 2009 +0000
     4.3 @@ -1,6 +1,4 @@
     4.4  #include <iostream>
     4.5 -using namespace std;
     4.6 -
     4.7  #include <QStringList>
     4.8  
     4.9  #include "treeitem.h"
    4.10 @@ -9,6 +7,9 @@
    4.11  #include "branchitem.h"
    4.12  #include "vymmodel.h"
    4.13  
    4.14 +using namespace std;
    4.15 +
    4.16 +
    4.17  TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
    4.18  {
    4.19  	init();
    4.20 @@ -237,6 +238,16 @@
    4.21  	return itemData[0].toString().toStdString();
    4.22  }
    4.23  
    4.24 +void TreeItem::setHeadingColor (QColor color)
    4.25 +{
    4.26 +	headingColor=color;
    4.27 +}
    4.28 +
    4.29 +QColor TreeItem::getHeadingColor ()
    4.30 +{
    4.31 +	return headingColor;
    4.32 +}
    4.33 +
    4.34  void TreeItem::setNote(const QString s)
    4.35  {
    4.36  	note.setNote(s);
     5.1 --- a/treeitem.h	Mon Apr 27 12:42:06 2009 +0000
     5.2 +++ b/treeitem.h	Tue Apr 28 09:51:48 2009 +0000
     5.3 @@ -1,6 +1,7 @@
     5.4  #ifndef TREEITEM_H
     5.5  #define TREEITEM_H
     5.6  
     5.7 +#include <QColor>
     5.8  #include <QList>
     5.9  #include <QVariant>
    5.10  
    5.11 @@ -49,21 +50,27 @@
    5.12  
    5.13  	/*! Return number of item in parent by type, 
    5.14  	    e.g. first branch has number 0           */
    5.15 -	int childNum();				//! Return number of item in list of all children
    5.16 -	int num();					//! Return number of item by type
    5.17 -	int num (TreeItem *item);	//! Return number of item by type
    5.18 +	virtual int childNum();				//! Return number of item in list of all children
    5.19 +	virtual int num();					//! Return number of item by type
    5.20 +	virtual int num (TreeItem *item);	//! Return number of item by type
    5.21  
    5.22  	// Accessing data
    5.23 -    QVariant data(int column) const;
    5.24 -	void setHeading (const QString s);
    5.25 -	QString getHeading() const;
    5.26 -	std::string getHeadingStd() const;	//! convenience function used for debugging
    5.27 +    virtual QVariant data(int column) const;
    5.28 +
    5.29 +protected:
    5.30 +	QColor headingColor;
    5.31 +public:	
    5.32 +	virtual void setHeading (const QString s);
    5.33 +	virtual QString getHeading() const;
    5.34 +	virtual std::string getHeadingStd() const;	//! convenience function used for debugging
    5.35 +	virtual void setHeadingColor(QColor color);	//! Set color of heading. In BranchItem overloaded to update QGraphicsView
    5.36 +	virtual QColor getHeadingColor();			//! Returns color of heading
    5.37  
    5.38  protected:
    5.39  	NoteObj note;
    5.40  public:	
    5.41 -	void setNote(const QString s);
    5.42 -	QString getNote();
    5.43 +	virtual void setNote(const QString s);
    5.44 +	virtual QString getNote();
    5.45  	virtual void setNoteObj(const NoteObj &, bool updateNoteEditor=true);
    5.46  	virtual NoteObj getNoteObj();			
    5.47  	virtual QString getNoteASCII(const QString &indent, const int &width); // returns note	(ASCII)
    5.48 @@ -74,10 +81,10 @@
    5.49  protected:
    5.50  	Type type;
    5.51  public:	
    5.52 -	void setType (const Type t);
    5.53 -	Type getType ();
    5.54 -	bool isBranchLikeType() const;
    5.55 -	QString getTypeName ();
    5.56 +	virtual void setType (const Type t);
    5.57 +	virtual Type getType ();
    5.58 +	virtual bool isBranchLikeType() const;
    5.59 +	virtual QString getTypeName ();
    5.60  
    5.61  protected:
    5.62  	QString objID;					//! id set during load/save currently used for xLinks
    5.63 @@ -86,15 +93,15 @@
    5.64  	virtual QString getID ();
    5.65  
    5.66  	// Navigation and selection
    5.67 -	TreeItem* getChildNum(const int &n);
    5.68 -	BranchItem* getFirstBranch();
    5.69 -	BranchItem* getLastBranch();
    5.70 -	BranchItem* getBranchNum(const int &n);
    5.71 -	BranchObj* getBranchObjNum(const int &n);
    5.72 -	void setLastSelectedBranch();		//! Set myself as last selected in parent
    5.73 -	void setLastSelectedBranch(int i);	//! Set last selected branch directly
    5.74 -	TreeItem* getLastSelectedBranch();
    5.75 -	TreeItem* findBySelectString (const QString &);	
    5.76 +	virtual TreeItem* getChildNum(const int &n);
    5.77 +	virtual BranchItem* getFirstBranch();
    5.78 +	virtual BranchItem* getLastBranch();
    5.79 +	virtual BranchItem* getBranchNum(const int &n);
    5.80 +	virtual BranchObj* getBranchObjNum(const int &n);
    5.81 +	virtual void setLastSelectedBranch();		//! Set myself as last selected in parent
    5.82 +	virtual void setLastSelectedBranch(int i);	//! Set last selected branch directly
    5.83 +	virtual TreeItem* getLastSelectedBranch();
    5.84 +	virtual TreeItem* findBySelectString (const QString &);	
    5.85  
    5.86  	virtual void setHideTmp (HideTmpMode);
    5.87  	virtual bool hasHiddenExportParent ();
    5.88 @@ -103,9 +110,9 @@
    5.89  	virtual bool isHidden ();		
    5.90  
    5.91  	
    5.92 -	// Relation to map objects in graphicsscene	// FIXME-3 should be obsolete
    5.93 -	LinkableMapObj* getLMO();
    5.94 -	void setLMO (LinkableMapObj*);
    5.95 +	// Relation to map objects in graphicsscene	// FIXME-4 should be obsolete
    5.96 +	virtual LinkableMapObj* getLMO();
    5.97 +	virtual void setLMO (LinkableMapObj*);
    5.98  
    5.99  protected:
   5.100  	VymModel *model;
     6.1 --- a/xml-vym.cpp	Mon Apr 27 12:42:06 2009 +0000
     6.2 +++ b/xml-vym.cpp	Tue Apr 28 09:51:48 2009 +0000
     6.3 @@ -171,7 +171,7 @@
     6.4  		if (!atts.value( "textColor").isEmpty() ) 
     6.5  		{
     6.6  			col.setNamedColor(atts.value("textColor"));
     6.7 -			//FIXME-2 lastBranch->setColor(col );
     6.8 +			lastBranchItem->setHeadingColor(col );
     6.9  		}	    
    6.10  	} else if ( eName == "note" && 
    6.11  				(state == StateMapCenter ||state==StateBranch))