Skip to content
This repository
Browse code

Separated protocols into separate files, renamed example classes, and…

… updated doxygen file.
  • Loading branch information...
commit f00ff68ce1fe7a2c3b29bec67d1006c1437c905a 1 parent 2e7abb1
Ed Preston authored August 09, 2012
262  Doxyfile
... ...
@@ -1,14 +1,14 @@
1  
-# Doxyfile 1.7.4
  1
+# Doxyfile 1.8.1.2-20120730
2 2
 
3 3
 # This file describes the settings to be used by the documentation system
4  
-# doxygen (www.doxygen.org) for a project
  4
+# doxygen (www.doxygen.org) for a project.
5 5
 #
6  
-# All text after a hash (#) is considered a comment and will be ignored
  6
+# All text after a hash (#) is considered a comment and will be ignored.
7 7
 # The format is:
8 8
 #       TAG = value [value, ...]
9 9
 # For lists items can also be appended using:
10 10
 #       TAG += value [value, ...]
11  
-# Values that contain spaces should be placed between quotes (" ")
  11
+# Values that contain spaces should be placed between quotes (" ").
12 12
 
13 13
 #---------------------------------------------------------------------------
14 14
 # Project related configuration options
@@ -22,8 +22,9 @@
22 22
 
23 23
 DOXYFILE_ENCODING      = UTF-8
24 24
 
25  
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
26  
-# by quotes) that should identify the project.
  25
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
  26
+# identify the project. Note that if you do not use Doxywizard you need
  27
+# to put quotes around the project name if it contains spaces.
27 28
 
28 29
 PROJECT_NAME           = PSTreeGraphView
29 30
 
@@ -204,6 +205,13 @@ TAB_SIZE               = 8
204 205
 
205 206
 ALIASES                =
206 207
 
  208
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
  209
+# A mapping has the form "name=value". For example adding
  210
+# "class=itcl::class" will allow you to use the command class in the
  211
+# itcl::class meaning.
  212
+
  213
+TCL_SUBST              =
  214
+
207 215
 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
208 216
 # sources only. Doxygen will then generate output that is more tailored for C.
209 217
 # For instance, some of the names that are used will be different. The list
@@ -242,6 +250,15 @@ OPTIMIZE_OUTPUT_VHDL   = NO
242 250
 
243 251
 EXTENSION_MAPPING      =
244 252
 
  253
+# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
  254
+# comments according to the Markdown format, which allows for more readable
  255
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
  256
+# The output of markdown processing is further processed by doxygen, so you
  257
+# can mix doxygen, HTML, and XML commands with Markdown formatting.
  258
+# Disable only in case of backward compatibilities issues.
  259
+
  260
+MARKDOWN_SUPPORT       = YES
  261
+
245 262
 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
246 263
 # to include (a tag file for) the STL sources as input, then you should
247 264
 # set this tag to YES in order to let doxygen match functions declarations and
@@ -293,6 +310,15 @@ SUBGROUPING            = YES
293 310
 
294 311
 INLINE_GROUPED_CLASSES = NO
295 312
 
  313
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
  314
+# unions with only public data fields will be shown inline in the documentation
  315
+# of the scope in which they are defined (i.e. file, namespace, or group
  316
+# documentation), provided this scope is documented. If set to NO (the default),
  317
+# structs, classes, and unions are shown on a separate page (for HTML and Man
  318
+# pages) or section (for LaTeX and RTF).
  319
+
  320
+INLINE_SIMPLE_STRUCTS  = NO
  321
+
296 322
 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
297 323
 # is documented as struct, union, or enum with the name of the typedef. So
298 324
 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
@@ -315,10 +341,21 @@ TYPEDEF_HIDES_STRUCT   = NO
315 341
 # a logarithmic scale so increasing the size by one will roughly double the
316 342
 # memory usage. The cache size is given by this formula:
317 343
 # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
318  
-# corresponding to a cache size of 2^16 = 65536 symbols
  344
+# corresponding to a cache size of 2^16 = 65536 symbols.
319 345
 
320 346
 SYMBOL_CACHE_SIZE      = 0
321 347
 
  348
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
  349
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
  350
+# their name and scope. Since this can be an expensive process and often the
  351
+# same symbol appear multiple times in the code, doxygen keeps a cache of
  352
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
  353
+# If the cache is too large, memory is wasted. The cache size is given by this
  354
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
  355
+# corresponding to a cache size of 2^16 = 65536 symbols.
  356
+
  357
+LOOKUP_CACHE_SIZE      = 0
  358
+
322 359
 #---------------------------------------------------------------------------
323 360
 # Build related configuration options
324 361
 #---------------------------------------------------------------------------
@@ -335,6 +372,10 @@ EXTRACT_ALL            = NO
335 372
 
336 373
 EXTRACT_PRIVATE        = NO
337 374
 
  375
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
  376
+
  377
+EXTRACT_PACKAGE        = NO
  378
+
338 379
 # If the EXTRACT_STATIC tag is set to YES all static members of a file
339 380
 # will be included in the documentation.
340 381
 
@@ -403,7 +444,7 @@ INTERNAL_DOCS          = NO
403 444
 # in case and if your file system supports case sensitive file names. Windows
404 445
 # and Mac users are advised to set this option to NO.
405 446
 
406  
-CASE_SENSE_NAMES       = YES
  447
+CASE_SENSE_NAMES       = NO
407 448
 
408 449
 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
409 450
 # will show members with their full class and namespace scopes in the
@@ -433,7 +474,7 @@ INLINE_INFO            = YES
433 474
 # alphabetically by member name. If set to NO the members will appear in
434 475
 # declaration order.
435 476
 
436  
-SORT_MEMBER_DOCS       = NO
  477
+SORT_MEMBER_DOCS       = YES
437 478
 
438 479
 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
439 480
 # brief documentation of file, namespace and class members alphabetically
@@ -522,12 +563,6 @@ MAX_INITIALIZER_LINES  = 30
522 563
 
523 564
 SHOW_USED_FILES        = YES
524 565
 
525  
-# If the sources in your project are distributed over multiple directories
526  
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
527  
-# in the documentation. The default is NO.
528  
-
529  
-SHOW_DIRECTORIES       = NO
530  
-
531 566
 # Set the SHOW_FILES tag to NO to disable the generation of the Files page.
532 567
 # This will remove the Files entry from the Quick Index and from the
533 568
 # Folder Tree View (if specified). The default is YES.
@@ -535,7 +570,8 @@ SHOW_DIRECTORIES       = NO
535 570
 SHOW_FILES             = YES
536 571
 
537 572
 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the
538  
-# Namespaces page.  This will remove the Namespaces entry from the Quick Index
  573
+# Namespaces page.
  574
+# This will remove the Namespaces entry from the Quick Index
539 575
 # and from the Folder Tree View (if specified). The default is YES.
540 576
 
541 577
 SHOW_NAMESPACES        = YES
@@ -552,13 +588,23 @@ FILE_VERSION_FILTER    =
552 588
 
553 589
 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
554 590
 # by doxygen. The layout file controls the global structure of the generated
555  
-# output files in an output format independent way. The create the layout file
  591
+# output files in an output format independent way. To create the layout file
556 592
 # that represents doxygen's defaults, run doxygen with the -l option.
557 593
 # You can optionally specify a file name after the option, if omitted
558 594
 # DoxygenLayout.xml will be used as the name of the layout file.
559 595
 
560 596
 LAYOUT_FILE            =
561 597
 
  598
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
  599
+# containing the references data. This must be a list of .bib files. The
  600
+# .bib extension is automatically appended if omitted. Using this command
  601
+# requires the bibtex tool to be installed. See also
  602
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
  603
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
  604
+# feature you need bibtex and perl available in the search path.
  605
+
  606
+CITE_BIB_FILES         =
  607
+
562 608
 #---------------------------------------------------------------------------
563 609
 # configuration options related to warning and progress messages
564 610
 #---------------------------------------------------------------------------
@@ -647,15 +693,17 @@ FILE_PATTERNS          = *.h \
647 693
 # should be searched for input files as well. Possible values are YES and NO.
648 694
 # If left blank NO is used.
649 695
 
650  
-RECURSIVE              = NO
  696
+RECURSIVE              = YES
651 697
 
652  
-# The EXCLUDE tag can be used to specify files and/or directories that should
  698
+# The EXCLUDE tag can be used to specify files and/or directories that should be
653 699
 # excluded from the INPUT source files. This way you can easily exclude a
654 700
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
  701
+# Note that relative paths are relative to the directory from which doxygen is
  702
+# run.
655 703
 
656 704
 EXCLUDE                =
657 705
 
658  
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
  706
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
659 707
 # directories that are symbolic links (a Unix file system feature) are excluded
660 708
 # from the input.
661 709
 
@@ -708,14 +756,17 @@ IMAGE_PATH             =
708 756
 # by executing (via popen()) the command <filter> <input-file>, where <filter>
709 757
 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an
710 758
 # input file. Doxygen will then use the output that the filter program writes
711  
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be
  759
+# to standard output.
  760
+# If FILTER_PATTERNS is specified, this tag will be
712 761
 # ignored.
713 762
 
714 763
 INPUT_FILTER           =
715 764
 
716 765
 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
717  
-# basis.  Doxygen will compare the file name with each pattern and apply the
718  
-# filter if there is a match.  The filters are a list of the form:
  766
+# basis.
  767
+# Doxygen will compare the file name with each pattern and apply the
  768
+# filter if there is a match.
  769
+# The filters are a list of the form:
719 770
 # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
720 771
 # info on how filters are used. If FILTER_PATTERNS is empty or if
721 772
 # non of the patterns match the file name, INPUT_FILTER is applied.
@@ -754,7 +805,7 @@ INLINE_SOURCES         = NO
754 805
 
755 806
 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
756 807
 # doxygen to hide any special comment blocks from generated source code
757  
-# fragments. Normal C and C++ comments will always remain visible.
  808
+# fragments. Normal C, C++ and Fortran comments will always remain visible.
758 809
 
759 810
 STRIP_CODE_COMMENTS    = YES
760 811
 
@@ -773,7 +824,8 @@ REFERENCES_RELATION    = NO
773 824
 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
774 825
 # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
775 826
 # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
776  
-# link to the source code.  Otherwise they will link to the documentation.
  827
+# link to the source code.
  828
+# Otherwise they will link to the documentation.
777 829
 
778 830
 REFERENCES_LINK_SOURCE = YES
779 831
 
@@ -838,9 +890,9 @@ HTML_FILE_EXTENSION    = .html
838 890
 # The HTML_HEADER tag can be used to specify a personal HTML header for
839 891
 # each generated HTML page. If it is left blank doxygen will generate a
840 892
 # standard header. Note that when using a custom header you are responsible
841  
-# for the proper inclusion of any scripts and style sheets that doxygen
  893
+#  for the proper inclusion of any scripts and style sheets that doxygen
842 894
 # needs, which is dependent on the configuration options used.
843  
-# It is adviced to generate a default header using "doxygen -w html
  895
+# It is advised to generate a default header using "doxygen -w html
844 896
 # header.html footer.html stylesheet.css YourConfigFile" and then modify
845 897
 # that header. Note that the header is subject to change so you typically
846 898
 # have to redo this when upgrading to a newer version of doxygen or when
@@ -859,7 +911,7 @@ HTML_FOOTER            =
859 911
 # fine-tune the look of the HTML output. If the tag is left blank doxygen
860 912
 # will generate a default style sheet. Note that doxygen will try to copy
861 913
 # the style sheet file to the HTML output directory, so don't put your own
862  
-# stylesheet in the HTML output directory as well, or it will be erased!
  914
+# style sheet in the HTML output directory as well, or it will be erased!
863 915
 
864 916
 HTML_STYLESHEET        =
865 917
 
@@ -873,7 +925,7 @@ HTML_STYLESHEET        =
873 925
 HTML_EXTRA_FILES       =
874 926
 
875 927
 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
876  
-# Doxygen will adjust the colors in the stylesheet and background images
  928
+# Doxygen will adjust the colors in the style sheet and background images
877 929
 # according to this color. Hue is specified as an angle on a colorwheel,
878 930
 # see http://en.wikipedia.org/wiki/Hue for more information.
879 931
 # For instance the value 0 represents red, 60 is yellow, 120 is green,
@@ -903,20 +955,23 @@ HTML_COLORSTYLE_GAMMA  = 80
903 955
 
904 956
 HTML_TIMESTAMP         = YES
905 957
 
906  
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
907  
-# files or namespaces will be aligned in HTML using tables. If set to
908  
-# NO a bullet list will be used.
909  
-
910  
-HTML_ALIGN_MEMBERS     = YES
911  
-
912 958
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
913 959
 # documentation will contain sections that can be hidden and shown after the
914  
-# page has loaded. For this to work a browser that supports
915  
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
916  
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
  960
+# page has loaded.
917 961
 
918 962
 HTML_DYNAMIC_SECTIONS  = YES
919 963
 
  964
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
  965
+# entries shown in the various tree structured indices initially; the user
  966
+# can expand and collapse entries dynamically later on. Doxygen will expand
  967
+# the tree to such a level that at most the specified number of entries are
  968
+# visible (unless a fully collapsed tree already exceeds this amount).
  969
+# So setting the number of entries 1 will produce a full collapsed tree by
  970
+# default. 0 is a special value representing an infinite number of entries
  971
+# and will result in a full expanded tree by default.
  972
+
  973
+HTML_INDEX_NUM_ENTRIES = 100
  974
+
920 975
 # If the GENERATE_DOCSET tag is set to YES, additional index files
921 976
 # will be generated that can be used as input for Apple's Xcode 3
922 977
 # integrated development environment, introduced with OSX 10.5 (Leopard).
@@ -942,13 +997,13 @@ DOCSET_FEEDNAME        = "Doxygen generated docs"
942 997
 # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
943 998
 # will append .docset to the name.
944 999
 
945  
-DOCSET_BUNDLE_ID       = org.doxygen.Project
  1000
+DOCSET_BUNDLE_ID       = com.prestonsoft.Project
946 1001
 
947 1002
 # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
948 1003
 # the documentation publisher. This should be a reverse domain-name style
949 1004
 # string, e.g. com.mycompany.MyDocSet.documentation.
950 1005
 
951  
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
  1006
+DOCSET_PUBLISHER_ID    = com.prestonsoft.Publisher
952 1007
 
953 1008
 # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
954 1009
 
@@ -1052,7 +1107,7 @@ QHP_SECT_FILTER_ATTRS  =
1052 1107
 QHG_LOCATION           =
1053 1108
 
1054 1109
 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
1055  
-# will be generated, which together with the HTML files, form an Eclipse help
  1110
+#  will be generated, which together with the HTML files, form an Eclipse help
1056 1111
 # plugin. To install this plugin and make it available under the help contents
1057 1112
 # menu in Eclipse, the contents of the directory containing the HTML and XML
1058 1113
 # files needs to be copied into the plugins directory of eclipse. The name of
@@ -1068,19 +1123,14 @@ GENERATE_ECLIPSEHELP   = NO
1068 1123
 
1069 1124
 ECLIPSE_DOC_ID         = org.doxygen.Project
1070 1125
 
1071  
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
1072  
-# top of each HTML page. The value NO (the default) enables the index and
1073  
-# the value YES disables it.
  1126
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
  1127
+# at top of each HTML page. The value NO (the default) enables the index and
  1128
+# the value YES disables it. Since the tabs have the same information as the
  1129
+# navigation tree you can set this option to NO if you already set
  1130
+# GENERATE_TREEVIEW to YES.
1074 1131
 
1075 1132
 DISABLE_INDEX          = NO
1076 1133
 
1077  
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
1078  
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
1079  
-# documentation. Note that a value of 0 will completely suppress the enum
1080  
-# values from appearing in the overview section.
1081  
-
1082  
-ENUM_VALUES_PER_LINE   = 4
1083  
-
1084 1134
 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1085 1135
 # structure should be generated to display hierarchical information.
1086 1136
 # If the tag value is set to YES, a side panel will be generated
@@ -1088,13 +1138,17 @@ ENUM_VALUES_PER_LINE   = 4
1088 1138
 # is generated for HTML Help). For this to work a browser that supports
1089 1139
 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
1090 1140
 # Windows users are probably better off using the HTML help feature.
  1141
+# Since the tree basically has the same information as the tab index you
  1142
+# could consider to set DISABLE_INDEX to NO when enabling this option.
1091 1143
 
1092 1144
 GENERATE_TREEVIEW      = YES
1093 1145
 
1094  
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
1095  
-# and Class Hierarchy pages using a tree view instead of an ordered list.
  1146
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
  1147
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
  1148
+# documentation. Note that a value of 0 will completely suppress the enum
  1149
+# values from appearing in the overview section.
1096 1150
 
1097  
-USE_INLINE_TREES       = NO
  1151
+ENUM_VALUES_PER_LINE   = 4
1098 1152
 
1099 1153
 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
1100 1154
 # used to set the initial width (in pixels) of the frame in which the tree
@@ -1127,7 +1181,7 @@ FORMULA_TRANSPARENT    = YES
1127 1181
 # (see http://www.mathjax.org) which uses client side Javascript for the
1128 1182
 # rendering instead of using prerendered bitmaps. Use this if you do not
1129 1183
 # have LaTeX installed or if you want to formulas look prettier in the HTML
1130  
-# output. When enabled you also need to install MathJax separately and
  1184
+# output. When enabled you may also need to install MathJax separately and
1131 1185
 # configure the path to it using the MATHJAX_RELPATH option.
1132 1186
 
1133 1187
 USE_MATHJAX            = NO
@@ -1136,13 +1190,19 @@ USE_MATHJAX            = NO
1136 1190
 # HTML output directory using the MATHJAX_RELPATH option. The destination
1137 1191
 # directory should contain the MathJax.js script. For instance, if the mathjax
1138 1192
 # directory is located at the same level as the HTML output directory, then
1139  
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
1140  
-# mathjax.org site, so you can quickly see the result without installing
1141  
-# MathJax, but it is strongly recommended to install a local copy of MathJax
1142  
-# before deployment.
  1193
+# MATHJAX_RELPATH should be ../mathjax. The default value points to
  1194
+# the MathJax Content Delivery Network so you can quickly see the result without
  1195
+# installing MathJax.
  1196
+# However, it is strongly recommended to install a local
  1197
+# copy of MathJax from http://www.mathjax.org before deployment.
1143 1198
 
1144 1199
 MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
1145 1200
 
  1201
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
  1202
+# names that should be enabled during MathJax rendering.
  1203
+
  1204
+MATHJAX_EXTENSIONS     =
  1205
+
1146 1206
 # When the SEARCHENGINE tag is enabled doxygen will generate a search box
1147 1207
 # for the HTML output. The underlying search engine uses javascript
1148 1208
 # and DHTML and should work on any modern browser. Note that when using
@@ -1256,6 +1316,12 @@ LATEX_HIDE_INDICES     = NO
1256 1316
 
1257 1317
 LATEX_SOURCE_CODE      = NO
1258 1318
 
  1319
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
  1320
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
  1321
+# http://en.wikipedia.org/wiki/BibTeX for more info.
  1322
+
  1323
+LATEX_BIB_STYLE        = plain
  1324
+
1259 1325
 #---------------------------------------------------------------------------
1260 1326
 # configuration options related to the RTF output
1261 1327
 #---------------------------------------------------------------------------
@@ -1287,7 +1353,7 @@ COMPACT_RTF            = NO
1287 1353
 
1288 1354
 RTF_HYPERLINKS         = NO
1289 1355
 
1290  
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
  1356
+# Load style sheet definitions from file. Syntax is similar to doxygen's
1291 1357
 # config file, i.e. a series of assignments. You only have to provide
1292 1358
 # replacements, missing definitions are set to their default value.
1293 1359
 
@@ -1392,8 +1458,10 @@ GENERATE_PERLMOD       = NO
1392 1458
 PERLMOD_LATEX          = NO
1393 1459
 
1394 1460
 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
1395  
-# nicely formatted so it can be parsed by a human reader.  This is useful
1396  
-# if you want to understand what is going on.  On the other hand, if this
  1461
+# nicely formatted so it can be parsed by a human reader.
  1462
+# This is useful
  1463
+# if you want to understand what is going on.
  1464
+# On the other hand, if this
1397 1465
 # tag is set to NO the size of the Perl module output will be much smaller
1398 1466
 # and Perl will parse it just the same.
1399 1467
 
@@ -1476,20 +1544,18 @@ SKIP_FUNCTION_MACROS   = YES
1476 1544
 # Configuration::additions related to external references
1477 1545
 #---------------------------------------------------------------------------
1478 1546
 
1479  
-# The TAGFILES option can be used to specify one or more tagfiles.
1480  
-# Optionally an initial location of the external documentation
1481  
-# can be added for each tagfile. The format of a tag file without
1482  
-# this location is as follows:
1483  
-#   TAGFILES = file1 file2 ...
  1547
+# The TAGFILES option can be used to specify one or more tagfiles. For each
  1548
+# tag file the location of the external documentation should be added. The
  1549
+# format of a tag file without this location is as follows:
  1550
+#
  1551
+# TAGFILES = file1 file2 ...
1484 1552
 # Adding location for the tag files is done as follows:
1485  
-#   TAGFILES = file1=loc1 "file2 = loc2" ...
1486  
-# where "loc1" and "loc2" can be relative or absolute paths or
1487  
-# URLs. If a location is present for each tag, the installdox tool
1488  
-# does not have to be run to correct the links.
1489  
-# Note that each tag file must have a unique name
1490  
-# (where the name does NOT include the path)
1491  
-# If a tag file is not located in the directory in which doxygen
1492  
-# is run, you must also specify the path to the tagfile here.
  1553
+#
  1554
+# TAGFILES = file1=loc1 "file2 = loc2" ...
  1555
+# where "loc1" and "loc2" can be relative or absolute paths
  1556
+# or URLs. Note that each tag file must have a unique name (where the name does
  1557
+# NOT include the path). If a tag file is not located in the directory in which
  1558
+# doxygen is run, you must also specify the path to the tagfile here.
1493 1559
 
1494 1560
 TAGFILES               =
1495 1561
 
@@ -1557,13 +1623,12 @@ HAVE_DOT               = NO
1557 1623
 
1558 1624
 DOT_NUM_THREADS        = 0
1559 1625
 
1560  
-# By default doxygen will write a font called Helvetica to the output
1561  
-# directory and reference it in all dot files that doxygen generates.
1562  
-# When you want a differently looking font you can specify the font name
1563  
-# using DOT_FONTNAME. You need to make sure dot is able to find the font,
1564  
-# which can be done by putting it in a standard location or by setting the
1565  
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
1566  
-# containing the font.
  1626
+# By default doxygen will use the Helvetica font for all dot files that
  1627
+# doxygen generates. When you want a differently looking font you can specify
  1628
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
  1629
+# the font, which can be done by putting it in a standard location or by setting
  1630
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
  1631
+# directory containing the font.
1567 1632
 
1568 1633
 DOT_FONTNAME           = Helvetica
1569 1634
 
@@ -1572,17 +1637,16 @@ DOT_FONTNAME           = Helvetica
1572 1637
 
1573 1638
 DOT_FONTSIZE           = 10
1574 1639
 
1575  
-# By default doxygen will tell dot to use the output directory to look for the
1576  
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
1577  
-# different font using DOT_FONTNAME you can set the path where dot
1578  
-# can find it using this tag.
  1640
+# By default doxygen will tell dot to use the Helvetica font.
  1641
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
  1642
+# set the path where dot can find it.
1579 1643
 
1580 1644
 DOT_FONTPATH           =
1581 1645
 
1582 1646
 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1583 1647
 # will generate a graph for each documented class showing the direct and
1584 1648
 # indirect inheritance relations. Setting this tag to YES will force the
1585  
-# the CLASS_DIAGRAMS tag to NO.
  1649
+# CLASS_DIAGRAMS tag to NO.
1586 1650
 
1587 1651
 CLASS_GRAPH            = YES
1588 1652
 
@@ -1604,6 +1668,15 @@ GROUP_GRAPHS           = YES
1604 1668
 
1605 1669
 UML_LOOK               = NO
1606 1670
 
  1671
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside
  1672
+# the class node. If there are many fields or methods and many nodes the
  1673
+# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
  1674
+# threshold limits the number of items for each type to make the size more
  1675
+# managable. Set this to 0 for no limit. Note that the threshold may be
  1676
+# exceeded by 50% before the limit is enforced.
  1677
+
  1678
+UML_LIMIT_NUM_FIELDS   = 10
  1679
+
1607 1680
 # If set to YES, the inheritance and collaboration graphs will show the
1608 1681
 # relations between templates and their instances.
1609 1682
 
@@ -1644,7 +1717,7 @@ CALLER_GRAPH           = NO
1644 1717
 
1645 1718
 GRAPHICAL_HIERARCHY    = YES
1646 1719
 
1647  
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
  1720
+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
1648 1721
 # then doxygen will show the dependencies a directory has on other directories
1649 1722
 # in a graphical way. The dependency relations are determined by the #include
1650 1723
 # relations between the files in the directories.
@@ -1653,10 +1726,21 @@ DIRECTORY_GRAPH        = YES
1653 1726
 
1654 1727
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1655 1728
 # generated by dot. Possible values are svg, png, jpg, or gif.
1656  
-# If left blank png will be used.
  1729
+# If left blank png will be used. If you choose svg you need to set
  1730
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
  1731
+# visible in IE 9+ (other browsers do not have this requirement).
1657 1732
 
1658 1733
 DOT_IMAGE_FORMAT       = png
1659 1734
 
  1735
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
  1736
+# enable generation of interactive SVG images that allow zooming and panning.
  1737
+# Note that this requires a modern browser other than Internet Explorer.
  1738
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
  1739
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
  1740
+# visible. Older versions of IE do not have SVG support.
  1741
+
  1742
+INTERACTIVE_SVG        = NO
  1743
+
1660 1744
 # The tag DOT_PATH can be used to specify the path where the dot tool can be
1661 1745
 # found. If left blank, it is assumed the dot tool can be found in the path.
1662 1746
 
2  Example 1/Classes/Controller/PSHTreeGraphViewController.h
@@ -8,7 +8,7 @@
8 8
 
9 9
 
10 10
 #import <UIKit/UIKit.h>
11  
-#import "PSTreeGraphModelNode.h"
  11
+#import "PSTreeGraphDelegate.h"
12 12
 
13 13
 
14 14
 @class PSBaseTreeGraphView;
7  Example 1/Classes/Controller/PSHTreeGraphViewController.m
@@ -10,7 +10,7 @@
10 10
 #import "PSHTreeGraphViewController.h"
11 11
 
12 12
 #import "PSBaseTreeGraphView.h"
13  
-#import "PSHLeafView.h"
  13
+#import "MyLeafView.h"
14 14
 
15 15
 #import "ObjCClassWrapper.h"
16 16
 
@@ -96,7 +96,7 @@ -(void) configureNodeView:(UIView *)nodeView
96 96
 
97 97
 	// NOT FLEXIBLE: treat it like a model node instead of the interface.
98 98
 	ObjCClassWrapper *objectWrapper = (ObjCClassWrapper *)modelNode;
99  
-	PSHLeafView *leafView = (PSHLeafView *)nodeView;
  99
+	MyLeafView *leafView = (MyLeafView *)nodeView;
100 100
 
101 101
 	// button
102 102
 	if ( [[objectWrapper childModelNodes] count] == 0 ) {
@@ -105,7 +105,8 @@ -(void) configureNodeView:(UIView *)nodeView
105 105
 
106 106
 	// labels
107 107
 	leafView.titleLabel.text	= [objectWrapper name];
108  
-	leafView.detailLabel.text	= [NSString stringWithFormat:@"%zd bytes", [objectWrapper wrappedClassInstanceSize]];
  108
+	leafView.detailLabel.text	= [NSString stringWithFormat:@"%zd bytes",
  109
+                                   [objectWrapper wrappedClassInstanceSize]];
109 110
 
110 111
 }
111 112
 
4  Example 1/Classes/View/MyLeafView.h
... ...
@@ -1,5 +1,5 @@
1 1
 //
2  
-//  PSHLeafView.h
  2
+//  MyLeafView.h
3 3
 //  PSHTreeGraph - Example 1
4 4
 //
5 5
 //  Created by Ed Preston on 7/26/10.
@@ -12,7 +12,7 @@
12 12
 #import "PSBaseLeafView.h"
13 13
 
14 14
 
15  
-@interface PSHLeafView : PSBaseLeafView
  15
+@interface MyLeafView : PSBaseLeafView
16 16
 
17 17
 @property (nonatomic, assign) IBOutlet UIButton *expandButton;
18 18
 @property (nonatomic, assign) IBOutlet UILabel *titleLabel;
8  Example 1/Classes/View/MyLeafView.m
... ...
@@ -1,5 +1,5 @@
1 1
 //
2  
-//  PSHLeafView.m
  2
+//  MyLeafView.m
3 3
 //  PSHTreeGraph - Example 1
4 4
 //
5 5
 //  Created by Ed Preston on 7/26/10.
@@ -7,10 +7,10 @@
7 7
 //
8 8
 
9 9
 
10  
-#import "PSHLeafView.h"
  10
+#import "MyLeafView.h"
11 11
 
12 12
 
13  
-@interface PSHLeafView () 
  13
+@interface MyLeafView () 
14 14
 {
15 15
     
16 16
 @private
@@ -23,7 +23,7 @@ @interface PSHLeafView ()
23 23
 @end
24 24
 
25 25
 
26  
-@implementation PSHLeafView
  26
+@implementation MyLeafView
27 27
 
28 28
 
29 29
 #pragma mark - Property Accessors
4  Example 1/Classes/View/MyTreeGraphView.h
... ...
@@ -1,5 +1,5 @@
1 1
 //
2  
-//  PSHTreeGraphView.h
  2
+//  MyTreeGraphView.h
3 3
 //  PSHTreeGraph - Example 1
4 4
 //
5 5
 //  Created by Ed Preston on 7/25/10.
@@ -12,7 +12,7 @@
12 12
 #import "PSBaseTreeGraphView.h"
13 13
 
14 14
 
15  
-@interface PSHTreeGraphView : PSBaseTreeGraphView
  15
+@interface MyTreeGraphView : PSBaseTreeGraphView
16 16
 
17 17
 // TODO: Place project specific code, extentions here.
18 18
 
6  Example 1/Classes/View/MyTreeGraphView.m
... ...
@@ -1,5 +1,5 @@
1 1
 //
2  
-//  PSHTreeGraphView.m
  2
+//  MyTreeGraphView.m
3 3
 //  PSHTreeGraph - Example 1
4 4
 //
5 5
 //  Created by Ed Preston on 7/25/10.
@@ -7,10 +7,10 @@
7 7
 //
8 8
 
9 9
 
10  
-#import "PSHTreeGraphView.h"
  10
+#import "MyTreeGraphView.h"
11 11
 
12 12
 
13  
-@implementation PSHTreeGraphView
  13
+@implementation MyTreeGraphView
14 14
 
15 15
 
16 16
 #pragma mark - UIView
61  Example 1/Interface/ObjCClassTreeNodeView.xib
@@ -2,19 +2,19 @@
2 2
 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
3 3
 	<data>
4 4
 		<int key="IBDocument.SystemTarget">1280</int>
5  
-		<string key="IBDocument.SystemVersion">11C74</string>
6  
-		<string key="IBDocument.InterfaceBuilderVersion">1938</string>
7  
-		<string key="IBDocument.AppKitVersion">1138.23</string>
8  
-		<string key="IBDocument.HIToolboxVersion">567.00</string>
  5
+		<string key="IBDocument.SystemVersion">12A269</string>
  6
+		<string key="IBDocument.InterfaceBuilderVersion">2549</string>
  7
+		<string key="IBDocument.AppKitVersion">1187</string>
  8
+		<string key="IBDocument.HIToolboxVersion">624.00</string>
9 9
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10 10
 			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11  
-			<string key="NS.object.0">933</string>
  11
+			<string key="NS.object.0">1498</string>
12 12
 		</object>
13 13
 		<array key="IBDocument.IntegratedClassDependencies">
  14
+			<string>IBProxyObject</string>
14 15
 			<string>IBUIButton</string>
15  
-			<string>IBUIView</string>
16 16
 			<string>IBUILabel</string>
17  
-			<string>IBProxyObject</string>
  17
+			<string>IBUIView</string>
18 18
 		</array>
19 19
 		<array key="IBDocument.PluginDependencies">
20 20
 			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -33,7 +33,7 @@
33 33
 				<string key="targetRuntimeIdentifier">IBIPadFramework</string>
34 34
 			</object>
35 35
 			<object class="IBUIView" id="191373211">
36  
-				<reference key="NSNextResponder"/>
  36
+				<nil key="NSNextResponder"/>
37 37
 				<int key="NSvFlags">274</int>
38 38
 				<array class="NSMutableArray" key="NSSubviews">
39 39
 					<object class="IBUIButton" id="246752469">
@@ -41,8 +41,6 @@
41 41
 						<int key="NSvFlags">292</int>
42 42
 						<string key="NSFrame">{{191, 8}, {29, 31}}</string>
43 43
 						<reference key="NSSuperview" ref="191373211"/>
44  
-						<reference key="NSWindow"/>
45  
-						<reference key="NSNextKeyView"/>
46 44
 						<int key="IBUIContentMode">4</int>
47 45
 						<string key="targetRuntimeIdentifier">IBIPadFramework</string>
48 46
 						<int key="IBUIContentHorizontalAlignment">0</int>
@@ -81,7 +79,6 @@
81 79
 						<int key="NSvFlags">292</int>
82 80
 						<string key="NSFrame">{{9, 7}, {169, 21}}</string>
83 81
 						<reference key="NSSuperview" ref="191373211"/>
84  
-						<reference key="NSWindow"/>
85 82
 						<reference key="NSNextKeyView" ref="298809504"/>
86 83
 						<bool key="IBUIOpaque">NO</bool>
87 84
 						<bool key="IBUIClipsSubviews">YES</bool>
@@ -113,7 +110,6 @@
113 110
 						<int key="NSvFlags">292</int>
114 111
 						<string key="NSFrame">{{9, 23}, {169, 21}}</string>
115 112
 						<reference key="NSSuperview" ref="191373211"/>
116  
-						<reference key="NSWindow"/>
117 113
 						<reference key="NSNextKeyView" ref="246752469"/>
118 114
 						<bool key="IBUIOpaque">NO</bool>
119 115
 						<bool key="IBUIClipsSubviews">YES</bool>
@@ -139,8 +135,6 @@
139 135
 					</object>
140 136
 				</array>
141 137
 				<string key="NSFrameSize">{229, 48}</string>
142  
-				<reference key="NSSuperview"/>
143  
-				<reference key="NSWindow"/>
144 138
 				<reference key="NSNextKeyView" ref="189980015"/>
145 139
 				<reference key="IBUIBackgroundColor" ref="202185770"/>
146 140
 				<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
@@ -247,7 +241,7 @@
247 241
 				<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
248 242
 				<string key="-2.CustomClassName">UIResponder</string>
249 243
 				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
250  
-				<string key="1.CustomClassName">PSHLeafView</string>
  244
+				<string key="1.CustomClassName">MyLeafView</string>
251 245
 				<dictionary class="NSMutableDictionary" key="1.IBAttributePlaceholdersKey"/>
252 246
 				<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
253 247
 				<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -263,14 +257,6 @@
263 257
 		<object class="IBClassDescriber" key="IBDocument.Classes">
264 258
 			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
265 259
 				<object class="IBPartialClassDescription">
266  
-					<string key="className">PSBaseLeafView</string>
267  
-					<string key="superclassName">UIView</string>
268  
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
269  
-						<string key="majorKey">IBProjectSource</string>
270  
-						<string key="minorKey">./Classes/PSBaseLeafView.h</string>
271  
-					</object>
272  
-				</object>
273  
-				<object class="IBPartialClassDescription">
274 260
 					<string key="className">PSBaseSubtreeView</string>
275 261
 					<string key="superclassName">UIView</string>
276 262
 					<object class="NSMutableDictionary" key="actions">
@@ -300,33 +286,6 @@
300 286
 						<string key="minorKey">./Classes/PSBaseSubtreeView.h</string>
301 287
 					</object>
302 288
 				</object>
303  
-				<object class="IBPartialClassDescription">
304  
-					<string key="className">PSHLeafView</string>
305  
-					<string key="superclassName">PSBaseLeafView</string>
306  
-					<dictionary class="NSMutableDictionary" key="outlets">
307  
-						<string key="detailLabel">UILabel</string>
308  
-						<string key="expandButton">UIButton</string>
309  
-						<string key="titleLabel">UILabel</string>
310  
-					</dictionary>
311  
-					<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
312  
-						<object class="IBToOneOutletInfo" key="detailLabel">
313  
-							<string key="name">detailLabel</string>
314  
-							<string key="candidateClassName">UILabel</string>
315  
-						</object>
316  
-						<object class="IBToOneOutletInfo" key="expandButton">
317  
-							<string key="name">expandButton</string>
318  
-							<string key="candidateClassName">UIButton</string>
319  
-						</object>
320  
-						<object class="IBToOneOutletInfo" key="titleLabel">
321  
-							<string key="name">titleLabel</string>
322  
-							<string key="candidateClassName">UILabel</string>
323  
-						</object>
324  
-					</dictionary>
325  
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
326  
-						<string key="majorKey">IBProjectSource</string>
327  
-						<string key="minorKey">./Classes/PSHLeafView.h</string>
328  
-					</object>
329  
-				</object>
330 289
 			</array>
331 290
 		</object>
332 291
 		<int key="IBDocument.localizationMode">0</int>
@@ -345,6 +304,6 @@
345 304
 			<string key="NS.key.0">TreeViewSubtreeExpandedButton.png</string>
346 305
 			<string key="NS.object.0">{15, 17}</string>
347 306
 		</object>
348  
-		<string key="IBCocoaTouchPluginVersion">933</string>
  307
+		<string key="IBCocoaTouchPluginVersion">1498</string>
349 308
 	</data>
350 309
 </archive>
24  Example 1/Interface/PSHTreeGraphViewController.xib
@@ -2,18 +2,18 @@
2 2
 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
3 3
 	<data>
4 4
 		<int key="IBDocument.SystemTarget">1280</int>
5  
-		<string key="IBDocument.SystemVersion">11C74</string>
6  
-		<string key="IBDocument.InterfaceBuilderVersion">1938</string>
7  
-		<string key="IBDocument.AppKitVersion">1138.23</string>
8  
-		<string key="IBDocument.HIToolboxVersion">567.00</string>
  5
+		<string key="IBDocument.SystemVersion">12A269</string>
  6
+		<string key="IBDocument.InterfaceBuilderVersion">2549</string>
  7
+		<string key="IBDocument.AppKitVersion">1187</string>
  8
+		<string key="IBDocument.HIToolboxVersion">624.00</string>
9 9
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10 10
 			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11  
-			<string key="NS.object.0">933</string>
  11
+			<string key="NS.object.0">1498</string>
12 12
 		</object>
13 13
 		<array key="IBDocument.IntegratedClassDependencies">
14 14
 			<string>IBProxyObject</string>
15  
-			<string>IBUIView</string>
16 15
 			<string>IBUIScrollView</string>
  16
+			<string>IBUIView</string>
17 17
 		</array>
18 18
 		<array key="IBDocument.PluginDependencies">
19 19
 			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -162,7 +162,7 @@
162 162
 				<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
163 163
 				<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
164 164
 				<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
165  
-				<string key="5.CustomClassName">PSHTreeGraphView</string>
  165
+				<string key="5.CustomClassName">MyTreeGraphView</string>
166 166
 				<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
167 167
 			</dictionary>
168 168
 			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
@@ -232,14 +232,6 @@
232 232
 					</object>
233 233
 				</object>
234 234
 				<object class="IBPartialClassDescription">
235  
-					<string key="className">PSHTreeGraphView</string>
236  
-					<string key="superclassName">PSBaseTreeGraphView</string>
237  
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
238  
-						<string key="majorKey">IBProjectSource</string>
239  
-						<string key="minorKey">./Classes/PSHTreeGraphView.h</string>
240  
-					</object>
241  
-				</object>
242  
-				<object class="IBPartialClassDescription">
243 235
 					<string key="className">PSHTreeGraphViewController</string>
244 236
 					<string key="superclassName">UIViewController</string>
245 237
 					<object class="NSMutableDictionary" key="outlets">
@@ -272,6 +264,6 @@
272 264
 		</object>
273 265
 		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
274 266
 		<int key="IBDocument.defaultPropertyAccessControl">3</int>
275  
-		<string key="IBCocoaTouchPluginVersion">933</string>
  267
+		<string key="IBCocoaTouchPluginVersion">1498</string>
276 268
 	</data>
277 269
 </archive>
34  Example 1/PSHTreeGraph.xcodeproj/project.pbxproj
@@ -15,7 +15,7 @@
15 15
 		2899E5220DE3E06400AC0155 /* PSHTreeGraphViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* PSHTreeGraphViewController.xib */; };
16 16
 		28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
17 17
 		28D7ACF80DDB3853001CB0EB /* PSHTreeGraphViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* PSHTreeGraphViewController.m */; };
18  
-		4F3536F511FC851F00AABFF1 /* PSHTreeGraphView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F3536F411FC851F00AABFF1 /* PSHTreeGraphView.m */; };
  18
+		4F3536F511FC851F00AABFF1 /* MyTreeGraphView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F3536F411FC851F00AABFF1 /* MyTreeGraphView.m */; };
19 19
 		4F35379D11FC8EC900AABFF1 /* PSBaseBranchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F35379611FC8EC900AABFF1 /* PSBaseBranchView.m */; };
20 20
 		4F35379E11FC8EC900AABFF1 /* PSBaseLeafView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F35379811FC8EC900AABFF1 /* PSBaseLeafView.m */; };
21 21
 		4F35379F11FC8EC900AABFF1 /* PSBaseSubtreeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F35379A11FC8EC900AABFF1 /* PSBaseSubtreeView.m */; };
@@ -26,7 +26,7 @@
26 26
 		4F35382F11FCA00700AABFF1 /* TreeViewSubtreeExpandedButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F35382B11FCA00700AABFF1 /* TreeViewSubtreeExpandedButton.png */; };
27 27
 		4F35383011FCA00700AABFF1 /* TreeViewDirectLinesButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F35382C11FCA00700AABFF1 /* TreeViewDirectLinesButton.png */; };
28 28
 		4F35383111FCA00700AABFF1 /* TreeViewOrthogonalLinesButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F35382D11FCA00700AABFF1 /* TreeViewOrthogonalLinesButton.png */; };
29  
-		4F353B8711FCF1A400AABFF1 /* PSHLeafView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F353B8611FCF1A400AABFF1 /* PSHLeafView.m */; };
  29
+		4F353B8711FCF1A400AABFF1 /* MyLeafView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F353B8611FCF1A400AABFF1 /* MyLeafView.m */; };
30 30
 		4F4AA33913FA305700607517 /* Entitlements.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4F4AA33813FA305700607517 /* Entitlements.plist */; };
31 31
 		4F4AA34513FA32C700607517 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 4F4AA34413FA32C700607517 /* Icon-72.png */; };
32 32
 /* End PBXBuildFile section */
@@ -45,8 +45,9 @@
45 45
 		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
46 46
 		32CA4F630368D1EE00C91783 /* PSHTreeGraph_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PSHTreeGraph_Prefix.pch; sourceTree = "<group>"; };
47 47
 		4F0E109E1407EB94009B9214 /* Doxyfile */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; name = Doxyfile; path = ../Doxyfile; sourceTree = "<group>"; };
48  
-		4F3536F311FC851F00AABFF1 /* PSHTreeGraphView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSHTreeGraphView.h; path = Classes/View/PSHTreeGraphView.h; sourceTree = SOURCE_ROOT; };
49  
-		4F3536F411FC851F00AABFF1 /* PSHTreeGraphView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSHTreeGraphView.m; path = Classes/View/PSHTreeGraphView.m; sourceTree = SOURCE_ROOT; };
  48
+		4F0EE31B15D2F99B009BC883 /* PSTreeGraphDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PSTreeGraphDelegate.h; sourceTree = "<group>"; };
  49
+		4F3536F311FC851F00AABFF1 /* MyTreeGraphView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyTreeGraphView.h; path = Classes/View/MyTreeGraphView.h; sourceTree = SOURCE_ROOT; };
  50
+		4F3536F411FC851F00AABFF1 /* MyTreeGraphView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyTreeGraphView.m; path = Classes/View/MyTreeGraphView.m; sourceTree = SOURCE_ROOT; };
50 51
 		4F35379511FC8EC900AABFF1 /* PSBaseBranchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSBaseBranchView.h; path = ../PSTreeGraphView/PSBaseBranchView.h; sourceTree = "<group>"; };
51 52
 		4F35379611FC8EC900AABFF1 /* PSBaseBranchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSBaseBranchView.m; path = ../PSTreeGraphView/PSBaseBranchView.m; sourceTree = "<group>"; };
52 53
 		4F35379711FC8EC900AABFF1 /* PSBaseLeafView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSBaseLeafView.h; path = ../PSTreeGraphView/PSBaseLeafView.h; sourceTree = "<group>"; };
@@ -63,8 +64,8 @@
63 64
 		4F35382B11FCA00700AABFF1 /* TreeViewSubtreeExpandedButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TreeViewSubtreeExpandedButton.png; path = Graphics/TreeViewSubtreeExpandedButton.png; sourceTree = "<group>"; };
64 65
 		4F35382C11FCA00700AABFF1 /* TreeViewDirectLinesButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TreeViewDirectLinesButton.png; path = Graphics/TreeViewDirectLinesButton.png; sourceTree = "<group>"; };
65 66
 		4F35382D11FCA00700AABFF1 /* TreeViewOrthogonalLinesButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TreeViewOrthogonalLinesButton.png; path = Graphics/TreeViewOrthogonalLinesButton.png; sourceTree = "<group>"; };
66  
-		4F353B8511FCF1A400AABFF1 /* PSHLeafView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSHLeafView.h; path = Classes/View/PSHLeafView.h; sourceTree = SOURCE_ROOT; };
67  
-		4F353B8611FCF1A400AABFF1 /* PSHLeafView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSHLeafView.m; path = Classes/View/PSHLeafView.m; sourceTree = SOURCE_ROOT; };
  67
+		4F353B8511FCF1A400AABFF1 /* MyLeafView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyLeafView.h; path = Classes/View/MyLeafView.h; sourceTree = SOURCE_ROOT; };
  68
+		4F353B8611FCF1A400AABFF1 /* MyLeafView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyLeafView.m; path = Classes/View/MyLeafView.m; sourceTree = SOURCE_ROOT; };
68 69
 		4F4AA33813FA305700607517 /* Entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Entitlements.plist; sourceTree = "<group>"; };
69 70
 		4F4AA34413FA32C700607517 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "Graphics/Icon-72.png"; sourceTree = "<group>"; };
70 71
 		4F86D04113FAADAF00A494AE /* PSTreeGraphModelNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSTreeGraphModelNode.h; path = ../PSTreeGraphView/PSTreeGraphModelNode.h; sourceTree = "<group>"; };
@@ -169,10 +170,10 @@
169 170
 			isa = PBXGroup;
170 171
 			children = (
171 172
 				4F35370D11FC86C600AABFF1 /* PSTreeGraphView */,
172  
-				4F3536F311FC851F00AABFF1 /* PSHTreeGraphView.h */,
173  
-				4F3536F411FC851F00AABFF1 /* PSHTreeGraphView.m */,
174  
-				4F353B8511FCF1A400AABFF1 /* PSHLeafView.h */,
175  
-				4F353B8611FCF1A400AABFF1 /* PSHLeafView.m */,
  173
+				4F3536F311FC851F00AABFF1 /* MyTreeGraphView.h */,
  174
+				4F3536F411FC851F00AABFF1 /* MyTreeGraphView.m */,
  175
+				4F353B8511FCF1A400AABFF1 /* MyLeafView.h */,
  176
+				4F353B8611FCF1A400AABFF1 /* MyLeafView.m */,
176 177
 			);
177 178
 			name = View;
178 179
 			sourceTree = "<group>";
@@ -180,6 +181,7 @@
180 181
 		4F35370D11FC86C600AABFF1 /* PSTreeGraphView */ = {
181 182
 			isa = PBXGroup;
182 183
 			children = (
  184
+				4F0EE31B15D2F99B009BC883 /* PSTreeGraphDelegate.h */,
183 185
 				4F86D04113FAADAF00A494AE /* PSTreeGraphModelNode.h */,
184 186
 				4F3537B011FC90B200AABFF1 /* PSBaseTreeGraphView_Internal.h */,
185 187
 				4F35379B11FC8EC900AABFF1 /* PSBaseTreeGraphView.h */,
@@ -332,13 +334,13 @@
332 334
 				1D60589B0D05DD56006BFB54 /* main.m in Sources */,
333 335
 				1D3623260D0F684500981E51 /* PSHTreeGraphAppDelegate.m in Sources */,
334 336
 				28D7ACF80DDB3853001CB0EB /* PSHTreeGraphViewController.m in Sources */,
335  
-				4F3536F511FC851F00AABFF1 /* PSHTreeGraphView.m in Sources */,
  337
+				4F3536F511FC851F00AABFF1 /* MyTreeGraphView.m in Sources */,
336 338
 				4F35379D11FC8EC900AABFF1 /* PSBaseBranchView.m in Sources */,
337 339
 				4F35379E11FC8EC900AABFF1 /* PSBaseLeafView.m in Sources */,
338 340
 				4F35379F11FC8EC900AABFF1 /* PSBaseSubtreeView.m in Sources */,
339 341
 				4F3537A011FC8EC900AABFF1 /* PSBaseTreeGraphView.m in Sources */,
340 342
 				4F3537ED11FC9A2F00AABFF1 /* ObjCClassWrapper.m in Sources */,
341  
-				4F353B8711FCF1A400AABFF1 /* PSHLeafView.m in Sources */,
  343
+				4F353B8711FCF1A400AABFF1 /* MyLeafView.m in Sources */,
342 344
 			);
343 345
 			runOnlyForDeploymentPostprocessing = 0;
344 346
 		};
@@ -358,7 +360,7 @@
358 360
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
359 361
 				GCC_WARN_UNUSED_FUNCTION = YES;
360 362
 				INFOPLIST_FILE = "PSHTreeGraph-Info.plist";
361  
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
  363
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
362 364
 				PRODUCT_NAME = PSHTreeGraph;
363 365
 				TARGETED_DEVICE_FAMILY = 2;
364 366
 			};
@@ -375,7 +377,7 @@
375 377
 				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
376 378
 				GCC_WARN_UNUSED_FUNCTION = YES;
377 379
 				INFOPLIST_FILE = "PSHTreeGraph-Info.plist";
378  
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
  380
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
379 381
 				PRODUCT_NAME = PSHTreeGraph;
380 382
 				TARGETED_DEVICE_FAMILY = 2;
381 383
 				VALIDATE_PRODUCT = YES;
@@ -414,7 +416,7 @@
414 416
 				GCC_WARN_UNUSED_FUNCTION = YES;
415 417
 				GCC_WARN_UNUSED_PARAMETER = NO;
416 418
 				GCC_WARN_UNUSED_VARIABLE = YES;
417  
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
  419
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
418 420
 				SDKROOT = iphoneos;
419 421
 				TARGETED_DEVICE_FAMILY = 2;
420 422
 				USER_HEADER_SEARCH_PATHS = ../PSTreeGraphView/;
@@ -433,7 +435,7 @@
433 435
 				GCC_WARN_UNUSED_FUNCTION = YES;
434 436
 				GCC_WARN_UNUSED_PARAMETER = NO;
435 437
 				GCC_WARN_UNUSED_VARIABLE = YES;
436  
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
  438
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
437 439
 				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
438 440
 				SDKROOT = iphoneos;
439 441
 				TARGETED_DEVICE_FAMILY = 2;
1  Example 1/PSHTreeGraph.xcodeproj/xcshareddata/xcschemes/PSHTreeGraph.xcscheme
@@ -47,7 +47,6 @@
47 47
       buildConfiguration = "Debug"
48 48
       ignoresPersistentStateOnLaunch = "NO"
49 49
       debugDocumentVersioning = "YES"
50  
-      enableOpenGLFrameCaptureMode = "0"
51 50
       allowLocationSimulation = "YES">
52 51
       <BuildableProductRunnable>
53 52
          <BuildableReference
10  PSTreeGraphView/PSBaseBranchView.h
@@ -16,13 +16,15 @@
16 16
 
17 17
 @class PSBaseTreeGraphView;
18 18
 
19  
-/// Each SubtreeView has a BranchView subview that draws the connecting lines between its root node
20  
-/// and its child subtrees.
  19
+/// Each SubtreeView has a BranchView subview that draws the connecting lines
  20
+/// between its root node and its child subtrees.
21 21
 
22 22
 @interface PSBaseBranchView : UIView
23 23
 
24  
-/// Link to the enclosing TreeGraph.  (The getter for this is a convenience method that ascends the view tree
25  
-/// until it encounters a TreeGraph.)
  24
+/// @return Link to the enclosing TreeGraph.
  25
+///
  26
+/// @note The getter for this is a convenience method that ascends the view tree
  27
+/// until it encounters a TreeGraph.
26 28
 
27 29
 @property (nonatomic, readonly) PSBaseTreeGraphView *enclosingTreeGraph;
28 30
 
8  PSTreeGraphView/PSBaseTreeGraphView_Internal.h
@@ -18,16 +18,16 @@
18 18
 
19 19
 @class PSBaseSubtreeView;
20 20
 
21  
-// This category declares "Internal" methods that make up part of TreeGraph's implementation,
22  
-// but aren't intended to be used as TreeGraph API.
  21
+// This category declares "Internal" methods that make up part of TreeGraph's
  22
+// implementation, but aren't intended to be used as TreeGraph API.
23 23
 
24 24
 @interface PSBaseTreeGraphView (Internal)
25 25
 
26 26
 
27 27
 #pragma mark - ModelNode -> SubtreeView Relationship Management
28 28
 
29  
-// Returns the SubtreeView that corresponds to the specified modelNode, as tracked by the TreeGraph's
30  
-// modelNodeToSubtreeViewMapTable.
  29
+// Returns the SubtreeView that corresponds to the specified modelNode, as
  30
+// tracked by the TreeGraph's modelNodeToSubtreeViewMapTable.
31 31
 
32 32
 - (PSBaseSubtreeView *) subtreeViewForModelNode:(id)modelNode;
33 33
 
21  PSTreeGraphView/PSTreeGraphDelegate.h
... ...
@@ -1,14 +1,27 @@
1 1
 //
2 2
 //  PSTreeGraphDelegate.h
3  
-//  PSHTreeGraph
  3
+//  PSTreeGraphView
4 4
 //
5 5
 //  Created by Ed Preston on 9/08/12.
6 6
 //  Copyright (c) 2012 Preston Software. All rights reserved.
7 7
 //
  8
+//
  9
+//  This is a port of the sample code from Max OS X to iOS (iPad).
  10
+//
  11
+//  WWDC 2010 Session 141, “Crafting Custom Cocoa Views”
  12
+//
  13
+
  14
+
  15
+#import <Foundation/Foundation.h>
  16
+
  17
+#import "PSTreeGraphModelNode.h"
  18
+
  19
+@protocol PSTreeGraphDelegate <NSObject>
8 20
 
9  
-#ifndef PSHTreeGraph_PSTreeGraphDelegate_h
10  
-#define PSHTreeGraph_PSTreeGraphDelegate_h
  21
+@required
11 22
 
  23
+/// The delegate will configure the nodeView with the modelNode provided.
12 24
 
  25
+- (void) configureNodeView:(UIView *)nodeView withModelNode:(id <PSTreeGraphModelNode> )modelNode;
13 26
 
14  
-#endif
  27
+@end
25  PSTreeGraphView/PSTreeGraphModelNode.h
@@ -21,28 +21,15 @@
21 21
 
22 22
 @required
23 23
 
24  
-/// The model node's parent node, or nil if it doesn't have a parent node.
  24
+/// @return The model node's parent node, or nil if it doesn't have a parent node.
25 25
 
26 26
 - (id <PSTreeGraphModelNode> )parentModelNode;
27 27
 
28  
-/// The model node's child nodes.  If the node has no children, this should return an
29  
-/// empty array ([NSArray array]), not nil.
  28
+/// @return The model node's child nodes.
  29
+///
  30
+/// @note If the node has no children, this should return an empty array
  31
+/// ([NSArray array]), not nil.
30 32
 
31 33
 - (NSArray *) childModelNodes;
32 34