Enno Bartels
Super tuxi


Tool to generate function tree in different modes

functree - version 0.2.7 (23. nov. 2002)

functree

- About

- Features

- Options

- Screenshots

- Download

- Mail

- Ini file example

- Todo


Back

* About:

f u n c t r e e:
This pogramm with the name functree generates function tree in different modes:




* Features:

- ascii tree
- graphical tree

ascii tree:
- horizontal tree
- vertical tree
- with|without ascii frame
- with|without modul names (file names)
- as html or asc output
- with|without links for docu about each function

graphical tree:
- output generated with dot
- output generated with ImageMagick
- generate a cmap or a png image or a html page with cmap and png image - with|without links (cmap) - etc.





* Screenshots:

     Look here







* Initialisation file example:

START main
main bla
main bla2
bla2 bla






* Options:

usage: functree [Options] <func-file> 


 Options:
 --------

 * = default

   --version =   Prints the actual version of functree and exit.
   --debug   =   Debug ausgaben. (not implemented)
   -h        =   Prints this page.


  Modes :
  - - - -
   -ah     * =   Output mode: ascii horizontal
   -av       =   Output mode: ascii vertical
   -ai       =   Output mode: ascii info
   -dt       =   Output mode: ascii dot graph
   -dtcmap   =   Output mode: ascii cmap (by dot)
   -dtpng    =   Output mode: ascii cmap (by dot)
   -dthtml   =   Output mode: ascii html with cmap and png (by dot)
   -impng    =   Output mode: image magic png
   -imcmap   =   Output mode: image magic cmap
   -imhtml   =   Output mode: image magic html page (png+cmap)
   -hh       =   Output mode: ascii html horizontal
   -hv       =   Output mode: ascii html verical
   -jv       =   Output mode: java  html verical


  General options :
  - - - - - - - - -
   -o x      =   Output into file x. Default STDOUT.

   -fl     * =   Output with funcion names
   -afl      =   NO output with funcion names

   -ml     * =   Output with modul names
   -nml      =   NO output with modul names

   -wl     * =   With links    (for -hh and -hv)
   -nwl      =   Without links (for -hh and -hv)


  Ascii/Html mode options :
  - - - - - - - - - - - - -
   -atl    * =   Ascii output with ascii tree lines (+----+)
   -natl     =   NO ascii output with ascii tree lines

   -afrm     =   Ascii output with frame lines
   -nafrm  * =   no Ascii output with frame lines

   -a1sl   * =   Ascii output with top strich lines (|)
   -na1sl    =   NO ascii output with top strich lines

   -a2sl   * =   Ascii output with bottom strich lines (|)
   -na2sl    =   NO ascii output with bottom strich lines

   -asp  x   =   Ascii tree symbol plus.      default: '+'
   -asm  x   =   Ascii tree symbol minus.     default: '-'
   -ass  x   =   Ascii tree symbol strich.    default: '|'
   -ase  x   =   Ascii tree symbol end node.  default: '*'
   -as1s x   =   Ascii tree symbol plus (only one node).  default: '+'
   -asa  x   =   All ascii tree symbols: Plus, minux, stich and
                 end node
   -as1sl    =   Use the same symbol as strich for one node

   -nsf x    =   Do not show the sub function of function x
                 incl. there subfunc. Can be used multiple
                 times.


  Ascii/Html vertical mode options:
  - - - - - - - - - - - - - - - - -
   -avnws x  =   Ascii number of whitespace vertical. default: 2


  Ascii/Html horizontal mode options:
  - - - - - - - - - - - - - - - - - -
   -ahb1c    =   Ascii horizontal - functionname one backspace
   -nahb1c * =   No: Ascii horizontal - functionname one backspace
                 (Will only work on stdout output mode)


  Image Magic mode options:
  - - - - - - - - - - - - -
   -imw x    =   Width  of a node in pixel (default: 50)
   -imh x    =   Height of a node in pixel (default: 20)

   -imnsh x  =   Horizontal space between nodes in pixel (default: 20)
   -imnsv x  =   Vertical   space between nodes in pixel (default: 40)

   -impsh x  =   Horizontal space between page and nodes in pixel (default: 20)
   -impsv x  =   Vertical   space between page and nodes in pixel (default: 20)

 * -imr  x   =   Show recursions
   -nimr x   =   Do not show recursions

   -imcl  x  =   Color of the lines                 (default: 000000)
   -imcrl x  =   Color of the rectangle lines       (default: 000000)
   -imcrb x  =   Color of the rectangle background  (default: EEEEEE)
   -imctl x  =   Color of the tree symb. lines      (default: 000000)
   -imctb x  =   Color of the tree symb. background (default: EEEEEE)
   -imct  x  =   Color of the text                  (default: 000000)
   -imca  x  =   Color of the arrows                (default: 00FF00)
   -imcbg x  =   Color of the background            (default: FFFFFF)

   -nimp  *  =   No special plus symbols
   -imtr     =   Special plus symbols: Rectangle (4 pixel width & height)
   -imtc     =   Special plus symbols: Circle (4 pixel perimeter)

   -imwa     =   With arrow symbols







* Download:

23. nov. 2002: functree-0.2.7.tar.gz

configure
make
make install







* Mail:

Feel free to send comments/suggestions/patches !
ennobartels@t-online.de





* Todo:

         


 1. Dot
    1.1. configure: Dot checker einbauen (version 1.8.9) pleased
    1.2. Bei dot->html mit/ohne funktions
    1.3. Bei dot->html mit/ohne module
    1.4. Font für dot
         env export DOTFONTPATH = /windows/C/windows/fonts
    1.5. Größe der PNG nicht identisch machen

 2. Rekursion
    2.1. Rekursion bei ASCII: Symbol ??

 3. Schatten

 4. Bei den Beispielen index_links.html hinzufügen

 5. C Parser entwickeln

 6. Anzahl Leerzeichen zwischen Funktionen im hor. modus
 7. Anzahl Leerzeilen  zwischen FUnktionen im ver. modus

 8. Mit Doxygen Dateienliste inkl URL erzeugen (...#a0, ...#a1, ...)

 9. Anderes Ini File Konzept

    [start]
    main

    [connections]
    main  bla
    main  bl%/1€Œiso8859-15ö
    blö   -
    bla   -

    [files]
    main  ini.c
    bla   ini.c
    blö   bbb.c

    [urls]
    main  ini.c#a0
    bla   #a1
    blö   #a2


10. Die Breite der Subelemente nachkorrigieren %/1€Œiso8859-15über die wsFn und wsMn
    zähler



main
  b1
    mama
      blabla
        1234567
  b2
    c1
      mama
        blabla
          1234567
    c2
    c3
      mama
        blabla
          1234567
    mama
      blabla
        1234567


main
+-b1
  +-mama
  | +-blabla
  |   +-1234567
  b2
  +-c1
    +-mama
    | +-blabla
    |   +-1234567
    c2
    c3
    +-mama
    | +-blabla
    |   +-1234567
    mama
    +-blabla
      +-1234567