123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- %!
- % we need to define metric units
- /mm {2.834 mul} def
- /cm {28.34 mul } def
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Configurable section
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % sets the line width of the class graph to 0.5 points
- /SetLineWidth { 0.5 setlinewidth} def
- % sets the line color of the class graph to black
- /SetLineColor { 0 0 0 setrgbcolor } def
- % sets the default font for class names
- /SetClassFont
- {
- /ArialMT findfont
- 10 scalefont
- setfont
- } def
- % RGB colors of the texts
- /StandardTextColor { 0 0 0 } def
- /MissedTextColor { 0.50 0.50 0.50 } def
- % RGB colors of the boxes
- /MissedColor { 0.92 0.92 0.92 } def
- /IncompleteColor { 1 0.5 0.5 } def
- /UntestedColor { 1 1 0.6} def
- /ReadyColor { 0.7 1 0.7 } def
- % Starting point of the class graph
- % (0,0) is the lower left corner of the paper
- /nextx { 0 mm } def
- /nexty { 300 mm } def
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % End of Configurable section
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- /Missed {0} def
- /Incomplete {1} def
- /Untested {2} def
- /Ready {3} def
- %%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%
- % drawbox
- % takes two parameters:
- % classname........name of the class
- % status......status of development
- /drawbox
- {
- % save parameters
- /status exch def
- /classname exch def
- % save enviroment
- gsave
- newpath
- % determine the size of the class name
- SetClassFont
- classname
- stringwidth
- % and save it ...
- /widthy exch def
- /widthx exch def
- % moveto start point of the box
- nextx 8 mm add
- nexty
- moveto
- % calculate the place for the icons
- nextx 8 mm add
- widthx 4.5 mm add add
- /nexticonx exch def
- % set box color
- status Missed eq { MissedColor setrgbcolor } if
- status Incomplete eq { IncompleteColor setrgbcolor } if
- status Untested eq { UntestedColor setrgbcolor } if
- status Ready eq { ReadyColor setrgbcolor } if
- % draw box
- 0 mm 2.1 mm rlineto
- widthx 3 mm add 0 mm rlineto
- 0 mm -4.2 mm rlineto
- 0 widthx 3 mm add sub 0 mm rlineto
- 0 mm 2.1 mm rlineto
- closepath
- fill
- % set text color
- status Missed eq { MissedTextColor setrgbcolor }
- { StandardTextColor setrgbcolor } ifelse
- % set text pos and write text
- nextx 9.5 mm add
- nexty 1.25 mm sub
- moveto
- classname
- show
- grestore
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%
- % newchildclass
- % draws a new class
- % takes two parameters:
- % name of the class
- % status of development
- /newchildclass
- {
- % save parameters
- /status exch def
- /classname exch def
- % save enviroment
- % push this on the stack for onelevelback
- nexty
- newpath
- SetLineWidth
- SetLineColor
- nexty -2.1 mm add
- /nexty exch def
- nextx 11 mm add
- /nextx exch def
- nextx nexty moveto
- 0 mm -2.9 mm rlineto
- 8 mm 0 mm rlineto stroke
- nexty -2.9 mm add
- /nexty exch def
- classname
- status
- drawbox
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%
- % newclass
- % draws a new class
- % takes two parameters:
- % name of the class
- % status of development
- /newclass
- {
- gsave
- newpath
- SetLineWidth
- SetLineColor
- nextx nexty moveto
- 0 mm -5 mm rlineto
- 8 mm 0 mm rlineto stroke
- nexty -5 mm add
- /nexty exch def
- drawbox
- grestore
- } def
- /onelevelback
- {
- /oldy exch def
- newpath
- SetLineWidth
- SetLineColor
- % nexty -5 mm add
- % /nexty exch def
- nextx -11 mm add
- /nextx exch def
- nextx oldy moveto
- nextx nexty lineto stroke
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%
- % Linuxonly
- % draws the linux icon
- /Linuxonly
- {
- gsave
- newpath
- nexticonx
- nexty 1.25 mm sub
- moveto
- SetClassFont
- StandardTextColor setrgbcolor
- (Linux)
- show
- grestore
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%
- % Win32only
- % draws the win32 icon
- /Win32only
- {
- gsave
- newpath
- nexticonx
- nexty 1.25 mm sub
- moveto
- SetClassFont
- StandardTextColor setrgbcolor
- (Win32)
- show
- grestore
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%
- % Both
- % dummy
- /Both
- {
- } def
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % here the class tree follows
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%
- % TObject
- %%%%%%%%%%%%%%%%%%%%%%%
- (TObject) Ready drawbox
- %%%%%%%%%%%%%%%%%%%%%%%
- % Exception classes
- %%%%%%%%%%%%%%%%%%%%%%%
- (Exception) Missed newchildclass
- (EAbort) Incomplete newchildclass
- (ENewAbort) Untested newchildclass
- (ECustomAbort) Ready newclass
- onelevelback
- (EAbstractError) Missed newclass Linuxonly
- (EDatabaseError) Missed newclass Linuxonly
- (EDBCLient) Missed newchildclass
- (EReconcileError) Missed newchildclass Linuxonly
- onelevelback
- (EDBEngineError) Missed newclass Win32only
- (ENoResultSet) Missed newclass
- (EUpdateError) Missed newclass
- onelevelback
- (EDBEditError) Missed newclass
- (EDSWriter) Missed newclass
- showpage
|